我使用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中的字段降低(来自字段类型过滤器定义),但搜索项不是。
如何控制搜索字词上限/无上限?
感谢。
答案 0 :(得分:3)
Facet适用于索引术语,facet.prefix不进行分析 因此建议具有小写过滤器,所有索引术语都是较低的 但是,facet.prefix不会使用小写字母,因此在索引条款上找不到任何匹配项 您需要在客户端使用facet.prefix传递的术语小写。