lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hoss Man (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (SOLR-3729) ExtendedDismaxQParser (edismax) doesn't parse (*:*) properly
Date Mon, 17 Sep 2012 20:39:07 GMT

     [ https://issues.apache.org/jira/browse/SOLR-3729?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Hoss Man updated SOLR-3729:
---------------------------

    Fix Version/s:     (was: 4.0)
         Assignee:     (was: Hoss Man)

After reviewing the patch a bit, i'm skeptical of this regex ... in particular it drasticaly
changes the behavior in any case where "\*\:\*" is embedded in a longer string, ala...

http://localhost:8983/solr/select?defType=edismax&debugQuery=true&q=foo*:*bar

There may be other impacts that are less obvious.

Given that this bug seems to have been around for a while, i don't think we should rush a
fix like this into 4.0 ... i'd rather leave it alone until we find a more robust solution.
                
> ExtendedDismaxQParser (edismax) doesn't parse (*:*) properly
> ------------------------------------------------------------
>
>                 Key: SOLR-3729
>                 URL: https://issues.apache.org/jira/browse/SOLR-3729
>             Project: Solr
>          Issue Type: Bug
>          Components: query parsers
>    Affects Versions: 4.0-BETA
>            Reporter: Jack Krupansky
>         Attachments: SOLR-3729.patch
>
>
> I just happen to notice that (\*:\*) is not parsed properly by the edismax (ExtendedDismaxQParser)
query parser in 4.0-beta. It appears to require spaces before and after the \*:\*, otherwise
it treats the colon as part of a wildcard term (see the escaping below). I haven’t tried
other releases yet.
> My original query:
> http://localhost:8983/solr/select/?debugQuery=true&q=(*:*)&defType=edismax
> Produces this:
> {code}
> <str name="rawquerystring">(*:*)</str>
> <str name="parsedquery">(+DisjunctionMaxQuery((text:*\:*)))/no_coord</str>
> <str name="parsedquery_toString">+(text:*\:*)</str>
> <str name="QParser">ExtendedDismaxQParser</str>
> {code}
> Some variations I tried:
> {code}
> <str name="rawquerystring">( *:*)</str>
> <str name="parsedquery">(+DisjunctionMaxQuery((text:*\:*)))/no_coord</str>
> <str name="parsedquery_toString">+(text:*\:*)</str>
>  
> <str name="rawquerystring">(*:* )</str>
> <str name="parsedquery">(+DisjunctionMaxQuery((text:*\:*)))/no_coord</str>
> <str name="parsedquery_toString">+(text:*\:*)</str>
>  
> <str name="rawquerystring">( *:* )</str>
> <str name="parsedquery">(+MatchAllDocsQuery(*:*))/no_coord</str>
> <str name="parsedquery_toString">+*:*</str>
>  
> <str name="rawquerystring">(*:* -fox)</str>
> <str name="parsedquery">
> (+(DisjunctionMaxQuery((text:*\:*)) -DisjunctionMaxQuery((text:fox))))/no_coord
> </str>
> <str name="parsedquery_toString">+((text:*\:*) -(text:fox))</str>
>  
> <str name="rawquerystring">( *:* -fox)</str>
> <str name="parsedquery">
> (+(MatchAllDocsQuery(*:*) -DisjunctionMaxQuery((text:fox))))/no_coord
> </str>
> <str name="parsedquery_toString">+(*:* -(text:fox))</str>
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

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


Mime
View raw message