我使用以下字段类型配置在solr中索引数据。我只能在那里表演 不区分大小写的搜索。例如:如果我输入文字: Abc 或 abc 会得到相同的结果。
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.ClassicTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.StandardFilterFactory"/>
<!-- in this example, we will only use synonyms at query time
<filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
-->
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.ClassicTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
但现在我的要求发生了变化。假设如果我正在寻找Abc那么它应该给所有结果与Abc匹配而不是abc,反向也应该有效。
目前的配置是否可行?如果没有,那么我应该使用什么配置。 请建议我。
答案 0 :(得分:2)
只需从您的tokenizer中删除小写过滤器,它就可以解决您的问题。然后它不会将标记转换为小写,从而为您提供所需的结果。