配置中文分析器前先解释一下schema.xml中的基本标签
1、schema.xml文件简介
(1)FieldType域类型定义
相当于对lucene中的LongField、TextField...进行了封装
(2)Field定义
相当于lucene中的field名,在solr中,schema.xml中没有的定义的field,使用就会报错
(3)uniqueKey
标注document对象的主键,相当于lucene中document的自增id,不过solr中id是String类型的,而且需要用户自己添加,不像lucene中id会自增。
(4)copyField复制域
复制其他field的值到该域,source映射配置好的Field,dest为复制到的filed。
解决问题:如
商城站内搜索,输入查询的内容,这时候后台需要在商品名和商品描述field中进行查询,但是如果只能进行一次查询,就实现不了。这时候如果有包含一个两个信息都有的域,那个只要在这个域中进行搜索就可以了。
(5)dynamicField(动态字段)
solr不能添加schema.xml中没有的field,但可以配置动态字段,如下,以_i、_is...等等结尾的field就可以使用。
2、安装IKAnalyzer分词器
(1)导入jar导入solr项目WEB-INF/lib中
(2)把配置文件导入solr项目的classpath下
(3)在schema.xml中添加一个FieldType,使用IKAnalyzer分词器
<!-- IKAnalyzer-->
<fieldType name="text_ik" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
(4)添加一个Field,使用上面的FieldType
<!--IKAnalyzer Field-->
<field name="title_ik" type="text_ik" indexed="true" stored="true" />
<field name="content_ik" type="text_ik" indexed="true" stored="false" multiValued="true"/>