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

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

    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

        1. SOLR-9786.patch
          27 kB
          Yonik Seeley
        2. SOLR-9786.patch
          35 kB
          Yonik Seeley

        Issue Links

          Activity

            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: