BlockMaxConjunctionScorer for Occur.FILTER query clauses

Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

BlockMaxConjunctionScorer for Occur.FILTER query clauses

Viral Gandhi
Hello,

I am trying to utilize Block Max WAND optimization. During testing, BooleanQuery that I passed to IndexSearcher.seach() had multiple clauses and all of them were of Occur.FILTER type. I noticed that when queries do not have Occur.MUST clauses, BlockMaxConjunctionScorer is not created for those clauses.

Does anyone know why WAND optimization does not apply for Occur.FILTER clauses?  

Thanks,
Viral Gandhi
Reply | Threaded
Open this post in threaded view
|

Re: BlockMaxConjunctionScorer for Occur.FILTER query clauses

David Smiley
Hi.  Block Max WAND is an optimization that can skip docs based on score thresholds with some hints in the index.  If there are no MUST/SHOULD clauses in the boolean query, then there is no score.

~ David Smiley
Apache Lucene/Solr Search Developer


On Mon, Oct 5, 2020 at 8:15 PM Viral Gandhi <[hidden email]> wrote:
Hello,

I am trying to utilize Block Max WAND optimization. During testing, BooleanQuery that I passed to IndexSearcher.seach() had multiple clauses and all of them were of Occur.FILTER type. I noticed that when queries do not have Occur.MUST clauses, BlockMaxConjunctionScorer is not created for those clauses.

Does anyone know why WAND optimization does not apply for Occur.FILTER clauses?  

Thanks,
Viral Gandhi
Reply | Threaded
Open this post in threaded view
|

Re: BlockMaxConjunctionScorer for Occur.FILTER query clauses

Viral Gandhi
Thank you for the explanation, David. This makes sense. 

- Viral 

On Wed, 7 Oct 2020 at 12:54, David Smiley <[hidden email]> wrote:
Hi.  Block Max WAND is an optimization that can skip docs based on score thresholds with some hints in the index.  If there are no MUST/SHOULD clauses in the boolean query, then there is no score.

~ David Smiley
Apache Lucene/Solr Search Developer


On Mon, Oct 5, 2020 at 8:15 PM Viral Gandhi <[hidden email]> wrote:
Hello,

I am trying to utilize Block Max WAND optimization. During testing, BooleanQuery that I passed to IndexSearcher.seach() had multiple clauses and all of them were of Occur.FILTER type. I noticed that when queries do not have Occur.MUST clauses, BlockMaxConjunctionScorer is not created for those clauses.

Does anyone know why WAND optimization does not apply for Occur.FILTER clauses?  

Thanks,
Viral Gandhi