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

An edismax query wrapped in parentheses parsed wrong

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 4.3.1
    • Fix Version/s: None
    • Component/s: query parsers
    • Labels:
      None

      Description

      I have an edismax query with the following parameters:

      • q=("jenkins " OR text:"jenkins")
        • Yes, there is a space in "jenkins "
      • qf=used_name^7 text

      Queries to the field used_name are analyzed like this

      <analyzer type="query">
        <tokenizer class="solr.KeywordTokenizerFactory"/>
        <filter class="solr.PatternReplaceFilterFactory" 
             pattern="(,|\s)+" 
             replacement=" "/>
        <filter class="solr.TrimFilterFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
      

      Queries to the field text are anayzed like this:

      <analyzer type="query">
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.WordDelimiterFilterFactory"
                      generateWordParts="0"
                      generateNumberParts="0"
                      catenateWords="1"
                      catenateNumbers="0"
                      catenateAll="0"
                      preserveOriginal="1"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.ASCIIFoldingFilterFactory" />
      </analyzer>
      

      In Solr admin console, I can see the query is parsed wrongly:
      +((used_name:jenkins^7.0 | text:jenkins) (used_name:text:^7.0 | (text:text: text:text)) (used_name:jenkins^7.0 | text:jenkins))
      See that (text:text: text:text)?

      As a workaround I leave a space between parentheses and what they enclose, i.e. q=( "jenkins " OR text:"jenkins" ), then the query is parsed as I expect, i.e.
      +((used_name:jenkins^7.0 | text:jenkins) text:jenkins)

      The query is also parsed correctly if there's no space in "jenkins".

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                atorma Anssi Törmä
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated: