现在的位置: 首页 > 综合 > 正文

Solr4.6,搜索不区分大小写的配置

2018年05月24日 ⁄ 综合 ⁄ 共 688字 ⁄ 字号 评论关闭

    有些字段搜索的时候不需要区分大小写。这个时候需要做简单的过滤,建索引和搜索的时候把输入都转换成小写即可。配置如下:

<fieldType name="text_ngrm" class="solr.TextField"  positionIncrementGap="100">
	<analyzer type="index" >
		<tokenizer class="solr.NGramTokenizerFactory" minGramSize="1" maxGramSize="20"/>
		<filter class="solr.LowerCaseFilterFactory"/>
	</analyzer> 
	<analyzer type="query"  >
		<tokenizer class="solr.WhitespaceTokenizerFactory"/>
		<filter class="solr.LowerCaseFilterFactory"/>
	</analyzer>
</fieldType>

 配置中使用的过滤器工厂类LowerCaseFilterFactory的wiki定义如下:

solr.LowerCaseFilterFactory

Creates org.apache.lucene.analysis.LowerCaseFilter.

Lowercases the letters in each token. Leaves non-letter tokens alone.

Example: "I.B.M.", "Solr" ==> "i.b.m.", "solr".

    意即,将每个token的字母小写化。不处理非字母的token。

    

抱歉!评论已关闭.