lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chris Hostetter <hossman_luc...@fucit.org>
Subject Re: matchAllDocsQuery instead of WildCardQuery from lucene qp with df and *
Date Fri, 29 Jul 2016 23:38:11 GMT

: I'd argue that the behavior is incorrect. Could you raise a JIRA?

that behavior was intentionally added becaus most users kept getting 
really confused by the older default behavion (which was previously a 
0-length prefix against hte default search field)

	https://issues.apache.org/jira/browse/SOLR-2996

if you do in fact whant a 0-length prefix query against hte default search 
field...

* use the prefix parser:  q={!prefix f=$df v=''}
* use an explicit field name: q=yourDefaultField:*

...if you just want all fields that contain any terms in your default 
field, use the "fieldName:[* TO *]" range syntax (which should be more 
efficient ... although it's possible "fieldName:*" was also optimized to 
be as efficient ... i can't remember)




: Erick
: 
: On Thu, Jul 28, 2016 at 1:34 AM, Matteo Grolla <matteo.grolla@gmail.com> wrote:
: > Hi Alessandro,
: >      your shot in the dark was interesting, but the behaviour doesn't
: > depend on the field being mandatory, it works like this for every field. So
: > it seems just wrong
: >
: > df=field&q=*
: >
: > should be translated as field:*
: >
: > not as *:*
: >
: >
: > 2016-07-28 10:32 GMT+02:00 Matteo Grolla <matteo.grolla@gmail.com>:
: >
: >> It seems a wanted behaviour (see code at the bottom),
: >>
: >> Still the behaviour seems wrong to me
: >>
: >>
: >> the field is not set explicity but in the df, so getExplicitField returns
: >> null
: >>
: >> // called from parser
: >> protected Query getWildcardQuery(String field, String termStr) throws SyntaxError
{
: >>   checkNullField(field);
: >>   // *:* -> MatchAllDocsQuery
: >>   if ("*".equals(termStr)) {
: >>     if ("*".equals(field) || getExplicitField() == null) {
: >>       return newMatchAllDocsQuery();
: >>     }
: >>   }
: >>
: >>
: >> 2016-07-28 9:40 GMT+02:00 Matteo Grolla <matteo.grolla@gmail.com>:
: >>
: >>> I noticed the behaviour in solr 4.10 and 5.4.1
: >>>
: >>> 2016-07-28 9:36 GMT+02:00 Matteo Grolla <matteo.grolla@gmail.com>:
: >>>
: >>>> Hi,
: >>>>     I'm surprised by lucene query parser translating this query
: >>>>
: >>>> http://localhost:8983/solr/collection1/select?df=id&q=*
: >>>>
: >>>> in
: >>>>
: >>>> <str name="parsedquery">MatchAllDocsQuery(*:*)</str>
: >>>>
: >>>> I was expecting it to execute: "id:*"
: >>>> is it a bug or a desired behaviour? If desired can you explain why?
: >>>>
: >>>
: >>>
: >>
: 

-Hoss
http://www.lucidworks.com/

Mime
View raw message