You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Arsen Li (JIRA)" <ji...@apache.org> on 2015/03/17 00:03:38 UTC

[jira] [Comment Edited] (SOLR-7249) Solr engine misses null-values in "OR null" part for eDisMax parser

    [ https://issues.apache.org/jira/browse/SOLR-7249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14364071#comment-14364071 ] 

Arsen Li edited comment on SOLR-7249 at 3/16/15 11:02 PM:
----------------------------------------------------------

Jack, Erick, sorry for my ignorance. SOLR/Apache community/site is big, so I bit lost here :)

I updated issue description by adding both parsers debug output (only most meaningful part)
Also, I am bit confused seeing that both parsers showing me "text:area" in debug (not sure is this expected or not)

Jack, thanks for the point about "-area", I tried different cases - same result (LuceneQParser finds needed record, ExtendedDismaxQParser - not)

PS: going to raise this issue on users list as should be done before.


was (Author: barracuda477):
Jack, Eric, sorry for my ignorance. SOLR/Apache community/site is big, so I bit lost here :)

I updated issue description by adding both parsers debug output (only most meaningful part)
Also, I am bit confused seeing that both parsers showing me "text:area" in debug (not sure is this expected or not)

Jack, thanks for the point about "-area", I tried different cases - same result (LuceneQParser finds needed record, ExtendedDismaxQParser - not)

PS: going to raise this issue on users list as should be done before.

> Solr engine misses null-values in "OR null" part for eDisMax parser
> -------------------------------------------------------------------
>
>                 Key: SOLR-7249
>                 URL: https://issues.apache.org/jira/browse/SOLR-7249
>             Project: Solr
>          Issue Type: Bug
>          Components: query parsers
>    Affects Versions: 4.10.3
>         Environment: Windows 7
> CentOS 6.6
>            Reporter: Arsen Li
>
> Solr engine misses null-values in "OR null" part for eDisMax parser
> For example, I have following query:
> ((*:* AND -area:[* TO *]) OR area:[100 TO 300]) AND objectId:40105451
> full query path visible in Solr Admin panel is
> select?q=((*%3A*+AND+-area%3A%5B*+TO+*%5D)+OR+area%3A%5B100+TO+300%5D)+AND+objectId%3A40105451&wt=json&indent=true
> debug part of response is below:
> --------------------------------------
> "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.3509865 = (MATCH) sum of:\n  0.034590688 = (MATCH) product of:\n    0.069181375 = (MATCH) sum of:\n      0.069181375 = (MATCH) sum of:\n        0.069181375 = (MATCH) MatchAllDocsQuery, product of:\n          0.069181375 = queryNorm\n    0.5 = coord(1/2)\n  14.316396 = (MATCH) weight(objectId: \u0001\u0000\u0000\u0000\u0000\u0000\u0013\u000fkk in 1109978) [DefaultSimilarity], result of:\n    14.316396 = score(doc=1109978,freq=1.0), product of:\n      0.9952025 = queryWeight, product of:\n        14.38541 = idf(docFreq=1, maxDocs=1300888)\n        0.069181375 = queryNorm\n      14.38541 = fieldWeight in 1109978, product of:\n        1.0 = tf(freq=1.0), with freq of:\n          1.0 = termFreq=1.0\n        14.38541 = idf(docFreq=1, maxDocs=1300888)\n        1.0 = fieldNorm(doc=1109978)\n"
>     },
>     "QParser": "LuceneQParser",
> ...
> --------------------------------------
> so, it should return record if area between 100 and 300 or area not declared.
> it works ok for default parser, but when I set "edismax" checkbox checked in Solr admin panel - it returns nothing ("area" for objectId=40105451 is null). 
> Request path is following
> select?q=((*%3A*+AND+-area%3A%5B*+TO+*%5D)+OR+area%3A%5B100+TO+300%5D)+AND+objectId%3A40105451&wt=json&indent=true&defType=edismax&stopwords=true&lowercaseOperators=true
> debug response is below
> --------------------------------------
>  "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": {},
>     "QParser": "ExtendedDismaxQParser",
>     "altquerystring": null,
>     "boost_queries": null,
>     "parsed_boost_queries": [],
>     "boostfuncs": null,
> --------------------------------------
> However, when I move query from "q" field to "q.alt" field - it works ok, query is
> select?wt=json&indent=true&defType=edismax&q.alt=((*%3A*+AND+-area%3A%5B*+TO+*%5D)+OR+area%3A%5B100+TO+300%5D)+AND+objectId%3A40105451&stopwords=true&lowercaseOperators=true
> note, asterisks are not saved by editor, refer to http://stackoverflow.com/questions/29059460/solr-misses-or-null-query-when-parsing-by-edismax-parser
> if needed more accurate syntax



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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org