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

Reply via email to