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

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

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 6.4, 7.0
    • Component/s: None
    • Security Level: Public (Default Security Level. Issues are Public)

      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

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

                Dates

                • Created:
                  Updated:
                  Resolved: