ngramを機能させるのに問題があります。これが私のschema.xmlです:
<fieldType name="text" class="solr.TextField" omitNorms="false">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="1" maxGramSize="25" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />
</analyzer>
</fieldType>
私のデータベースにはたくさんのエントリがあります
「エリザベス」
と
「エリザベス」
「エリザベス」でクエリを実行しようとすると、「エリザベス」ではなく「エリザベス」のみが表示されます。奇妙なことに、solr adminをチェックアウトすると、分析ページにEdgenGramFilterFactoryが実際に使用可能であることが示され、「Elizabeths」がに展開されます。
e el eli eliz eliza elizab elizabe elizabet elizabeth
インデクサーはこれを理解していないようです。同義語フィルターをクエリブロックからインデックスブロックに移動したときにも同じ問題が発生します。つまり、クエリブロックに同義語フィルターがある場合は機能しますが、インデックスブロックに入れると効果がありません。
Sunspotを再起動し、インデックスを複数回再作成しました。サイコロはありません。何か案は?インデックス付きの単語リストを直接確認するにはどうすればよいですか?