このスキームhttp://pastie.org/5114389を使用してapachesolrで検索しようとしていますが、「josé」と入力するとファイルが見つかりますが、「jose」と書くと結果が得られません。
Efetueiはインターネットで答えを探していて、クラスを使わなければなりませんでしたが、挿入しても違いはありません。
このスキームhttp://pastie.org/5114389を使用してapachesolrで検索しようとしていますが、「josé」と入力するとファイルが見つかりますが、「jose」と書くと結果が得られません。
Efetueiはインターネットで答えを探していて、クラスを使わなければなりませんでしたが、挿入しても違いはありません。
スキーマから、フィールドに割り当てられているfieldTypeでASCIIFoldingFilterFactory
すでに使用していることがわかります。ただし、これはそのフィールドのインデックス作成にのみ適用されます。クエリ用語がインデックス内のアイテムと一致するように折りたたまれていることを確認するために、フィールドのクエリにも適用することをお勧めします。通常、このような場合、インデックスファクトリにフィルタファクトリを追加すると、クエリ用語とインデックス用語がすべて適切に変換/比較されるようにクエリにも追加されます。text
default
したがって、スキーマを次のように変更します。
<fieldType name="text" class="solr.TextField" omitNorms="false">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0"/>
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.ASCIIFoldingFilterFactory" words="mapping-FoldToASCII.txt"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0"/>
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.ASCIIFoldingFilterFactory" words="mapping-FoldToASCII.txt"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory" />
</analyzer>
</fieldType>