1

大文字と小文字を区別しないようにsolrでスペルチェッカーを作成するにはどうすればよいですか? クエリ「レザー」に対して、正しい「レザー」の候補が表示されます。しかし、クエリが「lether」の場合、「lethel」などの別の提案が返されますが、これは正しくありません。

この投稿に記載されている構成を試しましたが、機能していないようです。

参照用にここに私の設定をコピーしました:

<fieldType name="text_spell" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true">
  <analyzer type="index">
     <tokenizer class="solr.StandardTokenizerFactory"/>
     <filter class="solr.LowerCaseFilterFactory"/>
     <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
   </analyzer>
   <analyzer type="query">
     <tokenizer class="solr.StandardTokenizerFactory"/>
     <filter class="solr.LowerCaseFilterFactory"/>
     <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
   </analyzer>
</fieldType>

<field name="spelltext" type="text_spell" indexed="true" stored="false" multiValued="true"/>
<field name="title" type="text" indexed="true" stored="true" multiValued="false" omitNorms="true"/>
<copyField source="title" dest="spelltext" />

私が見逃している明らかなことはありますか?

4

1 に答える 1

0

まだ行っていない cse では、コンポーネントで小文字のフィルターを使用して a をspellchecker指定する必要があります。fieldType

<lst name="spellchecker">
  <str name="name">spell</str>
  <str name="field">text_spell</str>
  <str name="spellcheckIndexDir">spell</str>
  <str name="buildOnOptimize">true</str>
</lst>

buildOnOptimize次に、コマンドでスペルチェック インデックスを再構築するにも注意してくださいoptimize

于 2011-08-25T08:26:35.367 に答える