That is more or less what I did. Once I found that function, it just took a 
small patch to expose that functionality, and then the problem was solved.


----- Original Message ----
From: Chris Hostetter <[EMAIL PROTECTED]>
To: solr-user@lucene.apache.org
Sent: Thursday, May 22, 2008 12:32:56 PM
Subject: Re: DocSet to BitSet


: One of the primary reasons that I was doing it this way is because I am 
: sending several filters, one is a big docset and others are BooleanQuery 
: objects (products in stock, etc.).

: Since, the interface for SolrIndexSearcher.getDocListAndSet supports 
: only (Query, DocSet,...) or (Query, List<Query>,...), I was going to 

Just use SolrIndexSearch.getDocSet(List<Query>) to compute a DocSet for 
your query "filters" and then intersect that with your existing DocSet.

: give it a list of filters. I haven't investigated further to see if 
: patching the Solr code to allow both methods (Query, List<Query>, 
: DocSet) would cause any problems. My guess is that it was done this way 
: for a reason.

The code is a bit hairy, but deep down in a private getDocListC method 
there is a note about how the method can only be used with either a 
"DocSet filter" or a "List<Query> filterList" but not both .. i don't 
remember why.

: Barring that solution, I will probably use the Query, DocSet method. I 
: have my DocSet for my bit-based filters in a single DocSet. And then I 
: can take my previous list of filter queries and add them onto the main 
: Query object that was created by the front-end. I'm not sure what this 

assuming those other quires are fairly orthoginal, generating a seperate 
DocSet for them (or one DocSetfor each of them) will probably give you 
better cache hit ratios.



-Hoss

Reply via email to