Filter by user specific data but also using a searchengine like Solr?

When designing your Solr schema, you need to denormalize/flatten your data In this case, it seems that you're searching for "items", so the schema would revolve around items. When populating your Solr index, you'd have a field "Title" and another dynamic field "State", so your query would be as simple as Title:something State_123:Pending where 123 is the user id.

When designing your Solr schema, you need to denormalize/flatten your data. In this case, it seems that you're searching for "items", so the schema would revolve around items. When populating your Solr index, you'd have a field "Title" and another dynamic field "State", so your query would be as simple as Title:something State_123:Pending where 123 is the user id.

The State value is specific to a user and an item. So it's a value in a table with columns: id, user_id, item_id, state_id . So it is Pending for one user, but may be Closed for another one.

Thanks! – StefanH May 15 at 21:47 @StefanH : edited answer – Mauricio Scheffer May 15 at 22:04 So this means that for every item I will index all the states the users have saved for that item. So for example, if 10,000 users have an item in state Pending, I will have 10,000 different State_xxxx:Pending indexed for that item.

And similar goes for every item. Is this efficient? – StefanH May 16 at 7:52 @StefanH: yes it is.

Solr is not a relational database, so you can't apply efficiency criteria for relational databases. – Mauricio Scheffer May 16 at 12:45.

Take a look at RavenDB. It is a document-oriented database built on top of Lucene, so you get a hybrid of Solr and a database, with the exception it is not meant to be a search engine, but rather a full featured doc-database with full-text search support on text fields. A Linq expression to query RavenDB for your example would then be: from doc in docs where doc.

Title == "Title" && doc. State == DocState. Pending select doc.

I use Linux, I see RavenDB is Windows stuff – StefanH May 16 at 13:10 It runs on Mono too – synhershko May 16 at 13:19.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions