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

edismax lowercaseOperators=false broken by SOLR-3026

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 3.6
    • 4.0-ALPHA, 6.0
    • search
    • None

    Description

      The edismax lowercaseOperators=false option seems to have been broken by SOLR-3026. "foo and bar" and "foo or bar" are treated as "foo AND bar" and "foo OR bar", respectively, even when lowercaseOperators=false.

      Fix is rather simple, I think (though I haven't tested this). Current code:

              if (i>0 && i+1<clauses.size()) {
                if ("AND".equalsIgnoreCase(s)) {
                  s="AND";
                } else if ("OR".equalsIgnoreCase(s)) {
                  s="OR";
                }
              }

      Proposed code:

              if (lowercaseOperators) {
                if (i>0 && i+1<clauses.size()) {
                  if ("AND".equalsIgnoreCase(s)) {
                    s="AND";
                  } else if ("OR".equalsIgnoreCase(s)) {
                    s="OR";
                  }
                }
              }

      Also interesting is the treatment of "Or" and "oR", but I'll leave that as an exercise to the reader.

      Attachments

        1. SOLR-3026.patch
          2 kB
          Tomas Eduardo Fernandez Lobbe
        2. SOLR-3026.patch
          2 kB
          Tomas Eduardo Fernandez Lobbe
        3. SOLR-3453
          2 kB
          Erick Erickson

        Issue Links

          Activity

            People

              Unassigned Unassigned
              michaelryan Michael Ryan
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: