Hi
FuzzyQuery/MultiTermQuery and I don't see any way to "boost" exact
matches, or even to incorporate the edit distance more generally into
the per-term score, although it does seem like that would be something
people would generally expect.
Actually it does this:
* By default FuzzyQuery uses a rewrite method that expands all terms
as should clauses into a boolean query:
MultiTermQuery.TopTermsBlendedFreqScoringRewrite(maxExpansions)
* TopTermsReqrite basically keeps track of a "boost" factor for each
term and sorts the "best" terms in a PQ:
https://github.com/apache/lucene/blob/main/lucene/core/src/java/org/apache/lucene/search/TopTermsRewrite.java#L109-L160
* For each collected term the term enumeration sets a boost (1.0 for
exact match):
https://github.com/apache/lucene/blob/dd4e8b82d711b8f665e91f0d74f159ef1e63939f/lucene/core/src/java/org/apache/lucene/search/FuzzyTermsEnum.java#L248-L256
So in short the exact term gets a boost factor of 1 in the resulting
term query, all other terms a lower one.
Uwe
--
Uwe Schindler
Achterdiek 19, D-28357 Bremen
https://www.thetaphi.de
eMail:u...@thetaphi.de