apache / apache/lucene

Join's TermsIncludingScoreQuery Weight has wrong normalization [LUCENE-4939]

Open
#6,003 1 comment 0 reactions 0 assignees View on GitHub
legacy-jira-priority:Minor module:join type:bug
Dominant language
Java
Stars
3.6k
Forks
1.4k
Avg merge
2d 11h
Merged PRs (30d)
88

Description

In the Join module, TermsIncludingScoreQuery's Weight implementation looks suspiciously wrong. It creates a Weight based on the original query and delegates a couple calls to it in getValueForNormalization() and normalize() – ok fine. But then it doesn't do anything with it! Furthermore, the original query has already been run by this point anyway.

Question: Should the original query, which currently runs separately (see JoinUtil), participate in the Weight normalization of the main query? It would be tricky to wire all this together based on the current structure but arguably that is more correct.

---
Migrated from [LUCENE-4939](https://issues.apache.org/jira/browse/LUCENE-4939) by David Smiley (@dsmiley)

Contributor guide

Open the contributing guide

Research direction

Start in the Join module with TermsIncludingScoreQuery's Weight implementation, then trace the original query's separate execution in JoinUtil. Determine whether that query should participate in normalization of the main query and how the current structure could support it. Done means the normalization behavior is resolved and covered by relevant tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
search
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.