[ https://issues.apache.org/jira/browse/LUCENE-7337?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15341973#comment-15341973 ]
ASF subversion and git services commented on LUCENE-7337: --------------------------------------------------------- Commit 7b5d7b396254998c0d4d1a6139134639aea1904f in lucene-solr's branch refs/heads/master from Mike McCandless [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=7b5d7b3 ] LUCENE-7337: empty boolean query now rewrites to MatchNoDocsQuery instead of vice/versa > MultiTermQuery are sometimes rewritten into an empty boolean query > ------------------------------------------------------------------ > > Key: LUCENE-7337 > URL: https://issues.apache.org/jira/browse/LUCENE-7337 > Project: Lucene - Core > Issue Type: Bug > Components: core/search > Reporter: Ferenczi Jim > Priority: Minor > Attachments: LUCENE-7337.patch > > > MultiTermQuery are sometimes rewritten to an empty boolean query (depending > on the rewrite method), it can happen when no expansions are found on a fuzzy > query for instance. > It can be problematic when the multi term query is boosted. > For instance consider the following query: > `((title:bar~1)^100 text:bar)` > This is a boolean query with two optional clauses. The first one is a fuzzy > query on the field title with a boost of 100. > If there is no expansion for "title:bar~1" the query is rewritten into: > `(()^100 text:bar)` > ... and when expansions are found: > `((title:bars | title:bar)^100 text:bar)` > The scoring of those two queries will differ because the normalization factor > and the norm for the first query will be equal to 1 (the boost is ignored > because the empty boolean query is not taken into account for the computation > of the normalization factor) whereas the second query will have a > normalization factor of 10,000 (100*100) and a norm equal to 0.01. > This kind of discrepancy can happen in a single index because the expansions > for the fuzzy query are done at the segment level. It can also happen when > multiple indices are requested (Solr/ElasticSearch case). > A simple fix would be to replace the empty boolean query produced by the > multi term query with a MatchNoDocsQuery but I am not sure that it's the best > way to fix. WDYT ? > -- 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