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>

一切正常,但是当我使用大写锁定搜索时,它不会返回答案。
即使该字段包含大写字母 - 它也没有。

我假设 solr 中的字段被降低(来自字段类型过滤器定义),但搜索词不是。
如何控制搜索词的上限/无上限?

谢谢。

4

1 回答 1

3

Facet 对索引术语起作用,而 facet.prefix 不进行分析。
因此,由于建议具有小写过滤器,因此所有索引项都是小写的。
但是, facet.prefix 不会小写,因此不会在索引词上找到任何匹配项。
您需要在客户端将使用 facet.prefix 传递的术语小写。

于 2013-09-23T04:20:04.003 回答