Looks like a bug to me.
Actually, when I try it with the Solr 4.0 example, I get:
<str name="rawquerystring">O*t*v*h</str>
<str name="querystring">O*t*v*h</str>
<str name="parsedquery">(+DisjunctionMaxQuery((sku:otvh)))/no_coord</str>
<str name="parsedquery_toString">+(sku:otvh)</str>
For:
curl
"http://localhost:8983/solr/collection1/select?q=O*t*v*h&wt=xml&debugQuery=on&defType=edismax&qf=sku%20doesNotExit&indent=true"
-- Jack Krupansky
-----Original Message-----
From: Ahmet Arslan
Sent: Monday, January 28, 2013 12:43 PM
To: solr-user@lucene.apache.org
Subject: edismax, qf, multiterm analyzer bug?
Hello,
If I fire a wildcard query o*t*v*h using edismax, and add a non existed
field to qf parameter, i get this phrase query at the end.
http://localhost:8983/solr/collection1/select?q=O*t*v*h&wt=xml&debugQuery=on&defType=edismax&qf=sku%20doesNotExit
parsedquery = (+DisjunctionMaxQuery((sku:"o t v h")))/no_coord
parsedquery_toString = +(sku:"o t v h")
Existing field(s) works as expected :
http://localhost:8983/solr/collection1/select?q=O*t*v*h&wt=xml&debugQuery=on&defType=edismax&qf=sku
yields
(+DisjunctionMaxQuery((sku:o*t*v*h)))/no_coord
+(sku:o*t*v*h)
Why I am including a field that does not exist?
Actually this is a distributed search.
Core A: field1 field2
Core B: field2 field3
To query all fields I use qf=field1 field2
field3&shards=coreA,coreB&defType=edismax (is there a better way?)
For a workaround I enabled following dynamic field :
<dynamicField name="*" type="ignored" />
I will open en issue but i would like to get your opinions first.
Ahmet