Alexey, Do you mean that we have current Index as it is and have a separate core which has only the user-id ,product-id relation and at while querying ,do a join between the two cores based on the user-id.
This would involve us to Index/delete the product as and when the user subscription for a product changes ,This would involve some amount of latency if the Indexing (we have a queue system for Indexing across the various instances) or deletion is delayed IF we want to go ahead with this solution ,We currently are using solr 1.3 , so is this functionality available as a patch for solr 1.3?Would it be possible to do with a separate Index instead of a core ,then I can create only one Index common for all our instances and then use this instance to do the join. Thanks Sujatha On Thu, Jun 16, 2011 at 9:27 PM, Alexey Serba <ase...@gmail.com> wrote: > > So a search for a product once the user logs in and searches for only the > > products that he has access to Will translate to something like this . > ,the > > product ids are obtained form the db for a particular user and can run > > into n number. > > > > <search term> &fq=product_id(100 10001 ......n number) > > > > but we are currently running into too many Boolean expansion error .We > are > > not able to tie the user also into roles as each user is mainly any one > who > > comes to site and purchases a product . > > I'm wondering if new trunk Solr join functionality can help here. > > * http://wiki.apache.org/solr/Join > > In theory you can index your products (product_id, ...) and > user_id-product many-to-many relation (user_product_id, user_id) into > signle/different cores and then do join, like > f=search terms&fq={!join from=product_id to=user_product_id}user_id:10101 > > But I haven't tried that, so I'm just speculating. >