Hi Ralf,

Dismax querparser does not allow fielded queries. e.g. field:something

Consider using edismax query parser instead.

Also debugQuery=on will display informative output how query parsed analyzed 
etc.

ahmet

--- On Tue, 2/12/13, Ralf Heyde <ralf.he...@gmx.de> wrote:

> From: Ralf Heyde <ralf.he...@gmx.de>
> Subject: DisMax Query & Field-Filters (ASCIIFolding)
> To: solr-user@lucene.apache.org
> Date: Tuesday, February 12, 2013, 5:25 PM
> Hello,
> 
> I have an interesting behaviour.
> 
> I have a FieldType "Text_PL". This type is configured as:
> 
> <fieldType name="text_pl" class="solr.TextField"
> positionIncrementGap="100">
>       <analyzer type="index">
>         <tokenizer
> class="solr.WhitespaceTokenizerFactory"/>
>         <filter
> class="solr.StopFilterFactory" ignoreCase="true"
> words="words/stopwords_pl.txt"
> enablePositionIncrements="true" />
>         <filter
> class="solr.WordDelimiterFilterFactory"
> generateWordParts="1" generateNumberParts="1"
> catenateWords="1" catenateNumbers="1" catenateAll="0"
> splitOnCaseChange="1"/>
>         <filter
> class="solr.ASCIIFoldingFilterFactory" />
>         <filter
> class="solr.LowerCaseFilterFactory"/>
>         <filter
> class="solr.StempelPolishStemFilterFactory" 
> protected="words/protwords_pl.txt"/>
>         <filter
> class="solr.RemoveDuplicatesTokenFilterFactory"/>
>       </analyzer>
>       <analyzer type="query">
>         <tokenizer
> class="solr.WhitespaceTokenizerFactory"/>
>         <filter
> class="solr.StopFilterFactory" ignoreCase="true"
> words="words/stopwords_pl.txt"
> enablePositionIncrements="true" />
>         <filter
> class="solr.WordDelimiterFilterFactory"
> generateWordParts="1" generateNumberParts="1"
> catenateWords="1" catenateNumbers="1" catenateAll="0"
> splitOnCaseChange="1"/>
>         <filter
> class="solr.ASCIIFoldingFilterFactory" />
>         <filter
> class="solr.LowerCaseFilterFactory"/>
>         <filter
> class="solr.StempelPolishStemFilterFactory"
> protected="words/protwords_pl.txt"/>
>         <filter
> class="solr.RemoveDuplicatesTokenFilterFactory"/>
>       </analyzer>
>     </fieldType>
> 
> So, one filter in the chain is the ASCIIFoldingFilterFactory
> which normalizes "special" characters (e.g. ó --> O).
> If I query "field:czolenka" it shows the same behaviour like
> searching for "field:czółenka" - as expected.
> 
> Now, if I use the DisMax query, this normalization step does
> not take place. I debugged the code, if I run the "normal"
> query, the debugger stops at the ASCIIFoldingFilter (as
> expected), if I run the DisMax Query, there is no stop at
> this filter - so the filter is not used.
> 
> Does anybody has an idea why? 
> Do I have to configure the DisMax RequestHandler for
> ASCIIFolding - if possible ?
> 
> Thanks,
> 
> Ralf
>

Reply via email to