Adrien Grand created LUCENE-7621:
------------------------------------

             Summary: Per-document minShouldMatch
                 Key: LUCENE-7621
                 URL: https://issues.apache.org/jira/browse/LUCENE-7621
             Project: Lucene - Core
          Issue Type: New Feature
            Reporter: Adrien Grand
            Priority: Minor


I have seen similar requirements a couple times but could not find any related 
issue so I am opening one now. The idea would be to allow passing a 
{{LongValuesSource}} rather than an integer as the {{minShouldMatch}} parameter 
of {{BooleanQuery}} so that the number of required clauses can depend on the 
document that is being matched. In terms of implementation, it looks like it 
would be straightforward as we would just have to update the value of 
{{minShouldMatch}} in {{MinShouldMatchSumScorer.setDocAndFreq}} and things 
would still be efficient, ie. we would still use advance on the costly clauses.

This kind of feature would allow to run queries that must match eg. 80% of the 
terms that a document contains (by indexing the number of terms in a separate 
field). It would also make it possible for Luwak or ES' percolator to index 
boolean queries that have a value of {{minShouldMatch}} greater than 1 more 
efficiently.

I do not have any plans to work on it soon but I am curious how much interest 
this feature would drive.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to