使用对应的业务域,需要指定中文分析器。
我这里使用的是IK Analyzer 2012FF_hf1中文分析器
1、先将自己下载好的IK Analyzer 2012FF_hf1上传到linux中
2、将IKAnalyzer2012FF_u1.jar文件复制到solr的lib目录下
cp IKAnalyzer2012FF_u1.jar /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib
你可能会进不去IK Analyzer 2012FF_hf1这个目录下,这时候需要加上"\"转义一下
cd IK\ Analyzer\ 2012FF_hf1
3、把扩展词典、配置文件放到solr工程的WEB-INF/classes目录(classpath)下
如果没有classes目录,新建classes目录:
mkdir /usr/local/solr/tomcat/webapps/solr/WEB-INF/classes
复制扩展词典、配置文件:
cp ext_stopword.dic IKAnalyzer.cfg.xml mydict.dic /usr/local/solr/tomcat/webapps/solr/WEB-INF/classes
4、配置一个FieldType,指定使用IKAnalyzer
修改/usr/local/solr/solrhome/collection1/conf目录下的schema.xml文件
vi schema.xml
添加FieldType:
<fieldType name="text_ik" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
注意:class属性内只能是TextField,只有是TextField才可以自定义分析器
配置业务域,type制定使用自定义的FieldType。
设置业务系统Field:
<field name="item_title" type="text_ik" indexed="true" stored="true"/>
<field name="item_sell_point" type="text_ik" indexed="true" stored="true"/>
<field name="item_price" type="long" indexed="true" stored="true"/>
<field name="item_image" type="string" indexed="false" stored="true" />
<field name="item_category_name" type="string" indexed="true" stored="true" />
<field name="item_desc" type="text_ik" indexed="true" stored="false" />
<field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
<copyField source="item_title" dest="item_keywords"/>
<copyField source="item_sell_point" dest="item_keywords"/>
<copyField source="item_category_name" dest="item_keywords"/>
<copyField source="item_desc" dest="item_keywords"/>
保存退出就好了。这样就配置好了solr业务域
别忘了重启tomcat噢。。。。