Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-9786

Defer creation of clauses in parser, optionally delegate groups to FieldType.getSetQuery

Agile BoardAttach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 6.4, 7.0
    • None

    Description

      Solr's query parser currently creates a query for each clause it sees independently. This is no longer desirable, since if we are creating a filter (non-scoring query), we can use a TermsQuery.

      PointFields SOLR-8396 also need to see a set of values together to efficiently create a set query.

      This issue:

      • adds context for the parser to know when it's parsing a query for matching only (that's only for the TermsQuery... I assume Points would always use a set query when passed multiple values)
      • defers creation of real Query objects for simple term queries in a boolean query
      • aggregates those values by field at the end to be passed to a new FieldType.getSetQuery method
      • FieldType.getSetQuery base implementation uses TermsQuery for indexed fields

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            yseeley@gmail.com Yonik Seeley
            yseeley@gmail.com Yonik Seeley
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment