Solr
  1. Solr
  2. SOLR-758

Enhance DisMaxQParserPlugin to support full-Solr syntax and to support alternate escaping strategies.

    Details

    • Type: Improvement Improvement
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 1.3
    • Fix Version/s: 4.9, Trunk
    • Component/s: search
    • Labels:
      None

      Description

      The DisMaxQParserPlugin has a variety of nice features; chief among them is that is uses the DisjunctionMaxQueryParser. However it imposes limitations on the syntax.

      I've enhanced the DisMax QParser plugin to use a pluggable query string re-writer (via subclass extension) instead of hard-coding the logic currently embedded within it (i.e. the escape nearly everything logic). Additionally, I've made this QParser have a notion of a "simple" syntax (the default) or non-simple in which case some of the logic in this QParser doesn't occur because it's irrelevant (phrase boosting and min-should-max in particular). As part of my work I significantly moved the code around to make it clearer and more extensible. I also chose to rename it to suggest it's role as a parser for user queries.

      Attachment to follow...

      1. UserQParser.java-umlauts.patch
        0.9 kB
        Simon Lachinger
      2. UserQParser.java
        11 kB
        David Smiley
      3. UserQParser.java
        11 kB
        David Smiley
      4. DisMaxQParserPlugin.java
        2 kB
        David Smiley
      5. DisMaxQParserPlugin.java
        2 kB
        David Smiley
      6. AdvancedQParserPlugin.java
        0.8 kB
        David Smiley
      7. AdvancedQParserPlugin.java
        0.8 kB
        David Smiley

        Issue Links

          Activity

          No work has yet been logged on this issue.

            People

            • Assignee:
              Unassigned
              Reporter:
              David Smiley
            • Votes:
              3 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:

                Development