: 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.gro...@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.gro...@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.gro...@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.gro...@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/