Hello,

Found discrepancy between LuceneQParser and ExtendedDismaxQParser when 
executing following query:
((*:* AND -area) OR area:[100 TO 300]) AND objectId:40105451

When executing it through Solr Admin panel and placing query in "q" field I 
having following debug output for LuceneQParser   
----------------------------------
"debug": {
    "rawquerystring": "((*:* AND -area) OR area:[100 TO 300]) AND 
objectId:40105451",
    "querystring": "((*:* AND -area) OR area:[100 TO 300]) AND 
objectId:40105451",
    "parsedquery": "+((+MatchAllDocsQuery(*:*) -text:area) area:[100 TO 300]) 
+objectId:40105451",
    "parsedquery_toString": "+((+*:* -text:area) area:[100 TO 300]) +objectId: 
\u0001\u0000\u0000\u0000\u0000\u0000\u0013\u000fkk",
    "explain": {
      "40105451": "\n14.3511 = (MATCH) sum of:\n  0.034590416 = (MATCH) product 
of:\n    0.06918083 = (MATCH) sum of:\n      0.06918083 = (MATCH) sum of:\n     
   0.06918083 = (MATCH) MatchAllDocsQuery, product of:\n          0.06918083 = 
queryNorm\n    0.5 = coord(1/2)\n  14.316509 = (MATCH) weight(objectId: 
\u0001\u0000\u0000\u0000\u0000\u0000\u0013\u000fkk in 1109978) 
[DefaultSimilarity], result of:\n    14.316509 = score(doc=1109978,freq=1.0), 
product of:\n      0.9952025 = queryWeight, product of:\n        14.385524 = 
idf(docFreq=1, maxDocs=1301035)\n        0.06918083 = queryNorm\n      
14.385524 = fieldWeight in 1109978, product of:\n        1.0 = tf(freq=1.0), 
with freq of:\n          1.0 = termFreq=1.0\n        14.385524 = idf(docFreq=1, 
maxDocs=1301035)\n        1.0 = fieldNorm(doc=1109978)\n"
    },
----------------------------------
So, one object found which is expectable

For ExtendedDismaxQParser (only difference is checkbox "edismax" checked) I am 
seeing this output
----------------------------------
"debug": {
    "rawquerystring": "((*:* AND -area) OR area:[100 TO 300]) AND 
objectId:40105451",
    "querystring": "((*:* AND -area) OR area:[100 TO 300]) AND 
objectId:40105451",
    "parsedquery": "(+(+((+DisjunctionMaxQuery((text:*\\:*)) 
-DisjunctionMaxQuery((text:area))) area:[100 TO 300]) 
+objectId:40105451))/no_coord",
    "parsedquery_toString": "+(+((+(text:*\\:*) -(text:area)) area:[100 TO 
300]) +objectId: \u0001\u0000\u0000\u0000\u0000\u0000\u0013\u000fkk)",
    "explain": {},
----------------------------------
oops, no objects found!

I hastened to fill https://issues.apache.org/jira/browse/SOLR-7249 (sorry, my 
bad)
You may refer to it for additional info (not going to duplicate it here)

Thanks

-- 
Best regards,
 Arsen                          mailto:barracuda...@mail.ru

Reply via email to