You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Mahmoud Almokadem <pr...@gmail.com> on 2015/11/01 10:37:56 UTC

Invalid parsing with solr edismax operators

Hello,

I'm using solr 4.8.1. 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.

Is this a bug on this version or there are something missing?