You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Shalin Shekhar Mangar <sh...@gmail.com> on 2009/09/03 09:23:57 UTC
Re: WordDelimiterFilter to QueryParser to MultiPhraseQuery?
On Mon, Aug 31, 2009 at 10:47 PM, jOhn <ne...@gmail.com> wrote:
> This is mostly my misunderstanding of catenateAll="1" as I thought it would
> break down with an OR using the full concatenated word.
>
> Thus:
>
> Jokers Wild -> { jokers, wild } OR { jokerswild }
>
> But really it becomes: { jokers, {wild, jokerswild}} which will not match.
>
> And if you have a mistyped camel case like:
>
> jOkerswild -> { j, {okerswild, jokerswild}} again no match.
>
>
Sorry for the late reply. You still haven't given the fieldtype definition
that you were using.
I tried:
<fieldtype name="wdf_preserve_catenate" class="solr.TextField">
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="1" generateNumberParts="1" catenateWords="1"
catenateNumbers="1" catenateAll="1" splitOnCaseChange="1"
preserveOriginal="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldtype>
And I tried indexing "Jokers Wild" which matches when I query for
"jOkerswild" and "jokerswild". Note that if you change the tokenizer to
WhiteSpaceTokenizer then such queries won't match.
--
Regards,
Shalin Shekhar Mangar.