Hmmm, the JIRA I found (SOLR-3377) has been fixed since 4.0-BETA, so I don't think closing this is in order. I've added a comment...
Erick On Tue, Mar 17, 2015 at 8:43 AM, Arsen <barracuda...@mail.ru> wrote: > Hello Jack, > > Jack, you made "my day" for me. > > Indeed, when I inserted space between "(" and "*:*" sings - issue > disappeared. I believe, that according to debug - "space" bug forced > both parsers to treat part in first brackets as text, right? > > It looks like https://issues.apache.org/jira/browse/SOLR-7249 can be > closed (root cause is another bug). Let me know if anything more > needed from my side (should I add comment to it?). > >> There was a Solr release with a bug that required that you put a space >> between the left parenthesis and the "*:*". The edismax parsed query here >> indicates that the "*:*" has not parsed properly. > >> You have "area", but in your jira you had a range query. > > You are right, I played with your suggestions about "area" parameter, > was running different variations of it, but they all give same result. > So, I left most recent variant (which was shorter, sorry). > > Thanks again for your help! > Have a nice day. > >> -- Jack Krupansky > >> On Mon, Mar 16, 2015 at 6:42 PM, Arsen <barracuda...@mail.ru> wrote: > >>> 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 >>> >>> > > > > -- > Best regards, > Arsen mailto:barracuda...@mail.ru >