Before Solr 3.6, which added MultiTermAwareComponent for analyzers, the
presence of a wildcard completely short-circuited (prevented) the query-time
analysis, so you have to manually emulate all steps of the query analyzer
yourself if you want to do a wildcard. Even with 3.6, not all filters are
multi-term aware.
See:
http://wiki.apache.org/solr/MultitermQueryAnalysis
Do a query for "9999.2231-7" and that will tell you which analyzer steps you
will have to do manually.
-- Jack Krupansky
-----Original Message-----
From: Anderson vasconcelos
Sent: Monday, May 21, 2012 11:03 AM
To: solr-user@lucene.apache.org
Subject: Re: Question about wildcards
Hi.
In debug mode, the generated query was:
<str name="rawquerystring">field:9999*2231-7</str>
<str name="querystring">field:9999*2231-7</str>
<str name="parsedquery">field:9999*2231-7</str>
<str name="parsedquery_toString">field:9999*2231-7</str>
The analisys of indexing the text 9999.2231-7 produces this result:
Index Analyzer 9999.22317 9999.22317 9999.22317 9999.22317 #1;1322.9999
#1;7 9999.22317
And for search for 9999*2231-7 , produces this result:
Query Analyzer 999922317 999922317 999922317 999922317 999922317
I don't understand why he don't find results when i use field:9999*2231-7.
When i use field:9999*2231 without "-7" the document was found.
How Ahmet said, i think they using "-7" to ignore the document. But in
debug query, they don't show this.
Any idea to solve this?
Thanks
2012/5/18 Ahmet Arslan <iori...@yahoo.com>
> I have a field that was indexed with the string
> "9999.2231-7". When i
> search using '*' or '?' like this "9999*2231-7" the query
> don't returns
> results. When i remove "-7" substring and search agin using
> "9999*2231" the
> query returns. Finally when i search using
> "9999.2231-7" the query returns
> too.
May be standard tokenizer is splitting 9999.2231-7 into multiple tokens?
You can check that admin/analysis page.
May be -7 is treated as negative clause? You can check that with
&debugQuery=on