2

オートコンプリートに facet.prefix を使用しています。
これが私の定義です

 <requestHandler name="/ac" class="solr.SearchHandler">
 <lst name="defaults">
  <str name="echoParams">explicit</str>
  ...
  <str name="lowercaseOperators">true</str>   
  <str name="facet">on</str>
  <str name="facet.field">Suggest</str>
</lst>

これは私の分野です

<field name="Suggest" type="text_auto" indexed="true" stored="true" required="false" multiValued="true"/>

 <fieldType class="solr.TextField" name="text_auto">
  <analyzer>
    <tokenizer class="solr.KeywordTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
</fieldType>

すべて正常に動作しますが、caps lock を使用して検索すると、回答が返されません。
フィールドに大文字が含まれている場合でも、そうではありません。

solr のフィールドは (フィールド タイプのフィルター定義から) 下げられていると思いますが、検索語はそうではありません。
検索用語の大文字/小文字を制御するにはどうすればよいですか?

ありがとう。

4

1 に答える 1

3

Facet は索引付けされた用語で機能し、facet.prefix は分析を受けません。
したがって、suggest には lowercasefilter があるため、索引付けされたすべての用語は小文字になります。
ただし、facet.prefix は小文字化されないため、索引付けされた用語に一致するものは見つかりません。
クライアント側で facet.prefix で渡される用語を小文字にする必要があります。

于 2013-09-23T04:20:04.003 に答える