Mahmoud Almokadem created SOLR-8237:
---------------------------------------

             Summary: Invalid parsing with solr edismax operators
                 Key: SOLR-8237
                 URL: https://issues.apache.org/jira/browse/SOLR-8237
             Project: Solr
          Issue Type: Bug
          Components: query parsers
    Affects Versions: 4.8.1
         Environment: Windows 2008 R2 - Apache TomCat 7
            Reporter: Mahmoud Almokadem
            Priority: Critical


Using edismax as the parser we got the undesirable parsed queries and results. 
The following is two different cases with strange behavior: Searching with 
these parameters

 "mm":"2",
 "df":"TotalField",
 "debug":"true",
 "indent":"true",
 "fl":"Title",
 "start":"0",
 "q.op":"AND",
 "fq":"",
 "rows":"10",
 "wt":"json" 
and the query is

"q":"+(public libraries)",
Retrieve 502 documents with these parsed query

"rawquerystring":"+(public libraries)",
"querystring":"+(public libraries)",
"parsedquery":"(+(+(DisjunctionMaxQuery((Title:public^200.0 | 
TotalField:public^0.1)) DisjunctionMaxQuery((Title:libraries^200.0 | 
TotalField:libraries^0.1)))))/no_coord",
"parsedquery_toString":"+(+((Title:public^200.0 | TotalField:public^0.1) 
(Title:libraries^200.0 | TotalField:libraries^0.1)))"
and if the query is

"q":" (public libraries) "
then it retrieves 8 documents with these parsed query

"rawquerystring":" (public libraries) ",
"querystring":" (public libraries) ",
"parsedquery":"(+((DisjunctionMaxQuery((Title:public^200.0 | 
TotalField:public^0.1)) DisjunctionMaxQuery((Title:libraries^200.0 | 
TotalField:libraries^0.1)))~2))/no_coord",
"parsedquery_toString":"+(((Title:public^200.0 | TotalField:public^0.1) 
(Title:libraries^200.0 | TotalField:libraries^0.1))~2)"
So the results of adding "+" to get all tokens before the parenthesis retrieve 
more results than removing it.


Request Handler

<requestHandler name="/select" class="solr.SearchHandler">

    <lst name="defaults”>

      <str name="echoParams">explicit</str>
      <int name="rows">10</int>
      <str name="df">TotalField</str>
     <str name="q.op">AND</str>
     <str name="defType">edismax</str>
     <str name="qf">Title^200 TotalField^1</str>

    </lst>

</requestHandler>



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to