前提:
1、在solr中默认是没有中文分析器的,需要手工配置。需要配置一个FieldType,在FieldType中指定中文分析器。
2、Solr中的字段必须是先定义后使用。
一、使用IK-Analyzer。把分析器的文件夹上传到服务器
该解析器下载地址:下载
[root@winy IK Analyzer 2012FF_hf1]# pwd
/soft/IK Analyzer 2012FF_hf1
二、需要把分析器的jar包添加到solr工程中。
[root@winy IK Analyzer 2012FF_hf1]# pwd
/soft/IK Analyzer 2012FF_hf1
[root@winy IK Analyzer 2012FF_hf1]# cp IKAnalyzer2012FF_u1.jar /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib/
三、 需要把IKAnalyzer需要的扩展词典及停用词词典、配置文件复制到solr工程的classpath
首先创建一个目录:
[root@winy IK Analyzer 2012FF_hf1]# mkdir /usr/local/solr/tomcat/webapps/solr/WEB-INF/classes然后把文件复制到solr工程classpath
<pre name="code" class="html">[root@winy IK Analyzer 2012FF_hf1]#cp IKAnalyzer.cfg.xml ext_stopword.dic mydict.dic /usr/local/solr/tomcat/webapps/solr/WEB-INF/classes
注意:扩展词典及停用词词典的字符集必须是utf-8。不能使用windows记事本编辑
四、配置fieldType。需要在solrhome/collection1/conf/schema.xml中配置
技巧:使用vi、vim跳转到文档开头gg。跳转到文档末尾:G
[root@winy conf]# pwd
/usr/local/solr/solrhome/collection1/conf
[root@winy conf]# vi schema.xml 在文档最下面添加:
<fieldType name="text_ik" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
</schema>上面
五、再加上业务字段查询域
<field name="item_title" type="text_ik" indexed="true" stored="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_desc" dest="item_keywords"/>
六、重启tomcat测试
在solr管理页面analysis的FieldType下拉框中即会显示上面的item_title、item_desc

本文介绍如何在Solr中配置中文搜索功能,包括安装IK-Analyzer、调整配置文件、添加扩展词典等步骤。
933

被折叠的 条评论
为什么被折叠?



