drupal 7 環境で apache solr ベースの検索を構成しています。検索はapache solrを使用しており、機能していますが、私が望む方法ではありません。
「staff」などと入力すると、「staff」、「staffing」、「staffing」などの結果を希望します。
Apache サーバーを再起動し、drupal キャッシュをクリアし、インデックスをクリアし、すべてのコンテンツのインデックスを再作成しましたが、機能していません (「スタッフ」の全文などの結果しかありません)。
そのため、他のスタック オーバーフロー スレッドで提案されているように、schema.xml を更新していくつかの edgeNGramFilter を含めました。奇妙なことに、「スタッフ」を含む結果が 1 つ以上あります。しかし、「'staffing' のことですか?」をクリックすると、さらにいくつかの 'staffing' の結果が表示されます。
誰でも助けてもらえますか?
<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="100" side="front" />
<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="100" side="back" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="100" side="front" />
<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="100" side="back" />
</analyzer>
</fieldType>