搜索引擎solr7.2.1+Jetty 分词及自定义扩展词库的配置
2018-03-05 09:42
253 查看
分词我理解的是,输入的一句话,按照它自己定义的规则分为常用词语。
首先,Solr有自己基本的类型,string、int、date、long等等。
对于string类型,比如在你的core/conf/manage-schema文件中,配置一个字段类型为string类型,如果查询符合“我是中国人”的数据,它就认为“我是中国人”是一个词语。但是如果你将该字段设置成了分词,即配置成了text_ik类型,就可能匹配“我”、“中国人”、“中国”、“中”、“人”带有这些字的该字段数据都可能被查询到。这就是分词带来的结果。具体要按照各自的业务来配置是否分词,分词对于大文本字段设置是合理的,但是对于小字段,设置分词是没必要的,甚至有相反的结果。比如你的某一个叫姓名的字段设置了分词,还不如设置string,查询时模糊匹配效果最好,(模糊匹配就是查询条件两边加上*),当然也要看自己业务需求是什么。
Solr分词的配置如下:
1.首先下载一个分词的jar包ik分词5.5jar包下载地址
2.将该分词jar包放到你的solr运行tomcat中的webapps/solr/WEB-INF/lib文件夹中,例如我的是D:\Tomcat9Solr\webapps\solr\WEB-INF\lib。
3.然后,在你的solrHome下的某个core/conf文件夹中,找到manage-schema文件,在改文件中的最下边添加配置如下内容:
<fieldType name="text_ik" class="solr.TextField"> <analyzer type="index" useSmart="false" class="org.wltea.analyzer.lucene.IKAnalyzer" /> <analyzer type="query" useSmart="true" class="org.wltea.analyzer.lucene.IKAnalyzer" /> </fieldType>
4.然后还是在这个manage-schema文件中,找到你想配置分词的字段,将其type改为text_ik类型:
这里以dkdz为例,设置之前,在solr客户端查看是如下结果:如果配置好分词,它会智能分词,对于一些特殊的词句,可能不会分成你想要的词
比如这么一句话,“清池街办新庄村”,配置好分词后,会有如下的结果:分词后的结果,并没有你想要的“清池街办新庄村”的这个词,这种情况就需要配置自定义的扩展词库了。
扩展词库的配置很简单,具体步骤如下:
1.前提是你要先配置好分词
2 solr-7.2.1\server\solr-webapp\webapp\WEB-INF目录下新增一个文件夹:classes
3 新增一个文件:IKAnalyzer.cfg.xml ,与classes文件同级,另在classes文件下新建ext.dic和stoword.dic,不会新建dic的可以用文本另存为的方式存储为dic文件。IKAnalyzer.cfg.xml 文件即配置ext.dic和stopword.dic两个字典库的位置。具体配置如下:<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties> <comment>IK Analyzer 扩展配置</comment> <!--用户可以在这里配置自己的扩展字典,多个以分号隔开 --> <entry key="ext_dict">ext.dic;</entry> <!--用户可以在这里配置自己的扩展停止词字典,多个以分号隔开--> <entry key="ext_stopwords">stopword.dic;</entry> </properties>
ext.dic即扩展词库的存储文件,比如我打算建立一个词“清池街办新庄村”这样一个词,那打开该文件,在里边新添一个即可:清池街办新庄村, 注意: 文件格式必需是:无BOM的UTF-8格式添加的每个词都自己占一行就可以的。
stopword.dic停止词字典的配置,你可以将空格什么的填进去,这里不用这个字典配置。
3.配置完之后,需要重启solr服务 solr stop -all ,solr start ,然后再回到开始的位置查看一下“清池街办新庄村”的分词结果:
4.以上,即完成了扩展词库的配置。这样就使劲的添加你的那些想分词却没有分的词了。
相关文章推荐
- solr配置停止词,同义词和扩展词库
- solr配置停止词,同义词和扩展词库
- solr添加中文IK分词器,以及配置自定义词库
- solr 扩展中文分词 IKAnalyzer 配置文件路径
- solr配置同义词,停止词,和扩展词库(IK分词器为例)
- 在Solr4.10配置IKAnalyzer 同义词、扩展词库、停顿词详解
- 在Solr4.10配置IKAnalyzer 同义词、扩展词库、停顿词详解
- Solr动态加载分词器的自定义词库扩展词库解决方案
- 配置IKAnalyzer2012扩展词库(tomcat8.0+solr4.6)
- 开源搜索引擎Solr环境配置、中文分词、数据库做为索引源及索引操作
- solr6.6配置IK中文分词、IK扩展词、同义词、pinyin4j拼音分词
- 搜索引擎solr系列---自定义扩展词库的配置
- 基于Spring可扩展Schema提供自定义配置支持
- mmseg自定义分词词库
- JAVA 中配置IKAnalyzer扩展词库和停止词库
- Solr4.6.1配置与建立索引——搜索引擎学习(一)
- 指尖上的电商---(3)Solr全文搜索引擎的配置
- 在Solr4.9中使用IKAnalyzer,实现同义词,扩展词库,停顿词的添加
- Solr分词mmseg4j配置
- solr下配置中文分词mmseg4j