Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-8701

Speed up ToParentBlockJoinQuery when total hit count is not needed

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 8.1, master (9.0)
    • Component/s: None
    • Labels:
      None
    • Lucene Fields:
      New

      Description

      We spotted a regression on nested queries in the Elastisearch nightly track:
      https://elasticsearch-benchmarks.elastic.co/index.html#tracks/nested/nightly/30d
      It seems related to the fact that we propagate the TOP_SCORES score mode to the child query even though we don't compute a max score in the BlockJoinScorer and don't propagate the minimum score either. Since it is not possible to compute a max score for a document that depends on other documents (the children) we should probably force the score mode to COMPLETE to build the child scorer. This should avoid the overhead of loading and reading the impacts. It should also be possible to early terminate queries that use the ScoreMode.None mode since in this case the score of each parent document is the same.

        Attachments

        1. LUCENE-8701.patch
          9 kB
          Jim Ferenczi
        2. LUCENE-8701.patch
          13 kB
          Jim Ferenczi

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              jim.ferenczi Jim Ferenczi
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: