【发布时间】:2011-05-25 13:49:20
【问题描述】:
你好,
我正在 Solr 中实现自动完成功能,但遇到了一个问题。
我正在使用自动补全
<fieldType name="text_auto" class="solr.TextField" sortMissingLast="true" omitNorms="true">
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>
我认为 LowerCaseFilter 应该使令牌大小写不敏感,但这是错误的。事实上,只是小写的 Token 这意味着像“comput”这样的查询会导致“computer”,而“Comput”不会。 实际上我希望计算和计算导致计算机。
我已经试过了:
<fieldType name="text_auto_low" class="solr.TextField" sortMissingLast="true" omitNorms="true">
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>
<fieldType name="text_auto_up" class="solr.TextField" sortMissingLast="true" omitNorms="true">
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
</analyzer>
</fieldType>
由于某种原因,它也没有说话。我的问题是为什么以及如何解决这个问题?
【问题讨论】:
标签: configuration lucene solr case case-insensitive