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

PhraseWildcardQuery - new query to control and optimize wildcard expansions in phrase

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 8.4
    • core/search
    • None
    • New, Patch Available

    Description

      A generalized version of PhraseQuery, built with one or more MultiTermQuery that provides term expansions for multi-terms (one of the expanded terms must match).

      Its main advantage is to control the total number of expansions across all MultiTermQuery and across all segments.

      This query is similar to MultiPhraseQuery, but it handles, controls and optimizes the multi-term expansions.

      This query is equivalent to building an ordered SpanNearQuery with a list of SpanTermQuery and SpanMultiTermQueryWrapper.
      But it optimizes the multi-term expansions and the segment accesses.
      It first resolves the single-terms to early stop if some does not match. Then it expands each multi-term sequentially, stopping immediately if one does not match. It detects the segments that do not match to skip them for the next expansions. This often avoid expanding the other multi-terms on some or even all segments. And finally it controls the total number of expansions.

      Attachments

        Issue Links

          Activity

            People

              broustant Bruno Roustant
              broustant Bruno Roustant
              Votes:
              1 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 3h
                  3h