solr配置同义词,停止词,和扩展词库(IK分词器为例)
2016-08-03 09:23
246 查看
定义
同义词:搜索结果里出现的同义词。如我们输入”还行”,得到的结果包括同义词”还可以”。停止词:在搜索时不用出现在结果里的词。比如is 、a 、are 、”的”,“得”,“我” 等,这些词会在句子中多次出现却无意义,所以在分词的时候需要把这些词过滤掉。
扩展词:在搜索结果里额外出现的词。扩展词只能是你输入词的本身或子串。比如我们 输入”重庆开县人”,正常分词得到的结果是“重庆” “开县”“人”;当我们在扩展词里加入“重庆开县”时,分词的结果是“重庆开县”“重庆” “开县”“人”。
配置同义词
1.在solr_home的conf目录下的schema.xml 中配置同义词text_syn:<!-- 配置IK分词器的同义词 --> <fieldType name="text_syn" class="solr.TextField"> <analyzer type="query"> <tokenizer class="solr.WhitespaceTokenizerFactory"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> <analyzer type="index"> <tokenizer class="solr.WhitespaceTokenizerFactory"/> <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="false" /> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> </fieldType>
2.假定在solr_home的conf目录下的schema.xml 中要对shortName字段进行同义词配置,则我们需要将type属性设为上向配置的”text_syn”
<field name="shortName" type="text_syn" indexed="true" stored="true" />
3.在conf目录下的 synonyms.txt 中增加同义词,如:
这里我多说两句:上面红框里的 => 右侧的词是左侧词的同义词,多个时用空格隔开。还有就是,最好不要直接打开synonyms.txt这个文件,因为加入的汉字在保存后会查不出来,因为txt不是UTF-8的格式保存的。
4.测试同义词
输入高兴:
输入中华:
5.基于上面的问题,说下怎么解决,毕竟不论我们输入中华还是中国,都能有对应的同义词结果。
首先,我们将synonyms.txt里的同义词用英文逗号隔开,然后将上面配置IK同义词里的expand属性设为true。
我们输入:大大的,结果如下:
配置停止词和扩展词库。
1.将IKAnalyzer解压文件夹下的stopword.dic和IKAnalyzer.cfg.xml复制到tomcat/webapps/solr/WEB-INF/classes下,再新建一个ext.dic,里面的格式和stopword.dic一致。2.修改IKAnalyzer.cfg.xml如下面的格式可以配置多个停止词或者扩展词库文件。
<properties> <comment>IK Analyzer 扩展配置</comment> <!--用户可以在这里配置自己的扩展字典--> <entry key="ext_dict">ext.dic;</entry> <!--用户可以在这里配置自己的扩展停止词字典--> <entry key="ext_stopwords">english_stopword.dic;stopword.dic</entry> <properties>
输入“重庆开县”时,正常分词是只有”重庆” “开县”的
在ext.dic里添加了”重庆开县”后,测试结果:
输入“重庆开县”时,正常分词是只有”重庆” “开县”的
在stopword.dic里添加了“开县”之后,测试结果:
注意
字段如果要能被分词,或是停止词,或是扩展词,需要在schema.xml里配置该字段时,给该字段的type属性配成分词类型,我们这里是text_ik,例:<field name="companyName" type="text_ik" indexed="false" stored="true" multiValued="false" />
相关文章推荐
- solr配置停止词,同义词和扩展词库
- solr配置停止词,同义词和扩展词库
- solr之使用IKAnalyzer配置同义词,停止词,扩展词。
- solr 6.2.0系列教程(二)IK中文分词器配置及添加扩展词、停止词、同义词
- 在Solr4.10配置IKAnalyzer 同义词、扩展词库、停顿词详解
- 在Solr4.10配置IKAnalyzer 同义词、扩展词库、停顿词详解
- solr5.3 实现同义词 扩展词典 停止词典 功能介绍
- solr中添加扩展分词库和停止词库
- 十、solr中ik分词器加入同义词配置
- solr中ik分词配置同义词、停止词、自定义词库
- 在Solr4.9中使用IKAnalyzer,实现同义词,扩展词库,停顿词的添加
- JAVA 中配置IKAnalyzer扩展词库和停止词库
- solr下配置IKAnalyzer分词器的扩展词典,停止词词典
- 配置IKAnalyzer2012扩展词库(tomcat8.0+solr4.6)
- IK分词器 整合solr4.7 含同义词、切分词、停止词
- solr添加中文IK分词器,以及配置自定义词库
- solr6.6配置IK中文分词、IK扩展词、同义词、pinyin4j拼音分词
- 搜索引擎solr7.2.1+Jetty 分词及自定义扩展词库的配置
- IKAnalyzer 独立使用 配置扩展词库
- 配置Solr中文分词器IK以及ansj,支持动态修改用户词库。