solr5.3 实现同义词 扩展词典 停止词典 功能介绍

时间:2021-06-30 03:10:46

  配置同义词首 扩展词典 停止词典等功能 先是要基于中文分词的基础上进行的,如果检索关键词不能够进行中文分词那么是查询不到相关的同义词的(配置中文分词可参考:点击打开链接

  在进行配置前需要先下载下修改后的IK分词jar包:IK分词jar

找到solrhome中schema.xml文件进行添加如下配置:

(schema.xml文件需要将同目录下的 managed-schema 改名而来)

然后编辑/solr-5.5.0/server/solr/core1/conf/solrconfig.xml,将以下代码注释掉:
<schemaFactory class="ManagedIndexSchemaFactory">
  <bool name="mutable">true</bool>
 <str name="managedSchemaResourceName">managed-schema</str>
</schemaFactory>


 <fieldType name="text_ik" class="solr.TextField">  
   <analyzer type="query">  
   	<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false"/>  
   	<filter class="solr.LowerCaseFilterFactory"/>  
   </analyzer>  
   <analyzer type="index">  
  	<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="fasle"/>  
 	<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />  
	<filter class="solr.LowerCaseFilterFactory"/>  
   </analyzer> 
 </fieldType>  
      
在schema.xml文件中添加一个字段并且引用text_ik分词:

   <field name="content" type="text_ik" indexed="true" stored="true" multiValued="false" />
完成配置之后保存

下面我们就需要添加一下我们同义词进行测试下是否成功

在schema.xml同级目录下有synonyms.txt 这个文件夹 我们配置的同义词就在这个文件中

solr5.3 实现同义词 扩展词典 停止词典 功能介绍

格式 ,好隔开  一行为一个同义词 保存 启动服务 到admin页面查看效果

solr5.3 实现同义词 扩展词典 停止词典 功能介绍


下面说下扩展词典和停止词典的配置

解压刚才下载的jar包 将 ext.dic  IKAnalyzer.cfg.xml  stopword.dic 三个文件复制到

solr5.3 实现同义词 扩展词典 停止词典 功能介绍

将上面复制的三个文件粘贴到apache-tomcat-7.0.47\webapps\solr\WEB-INF\classes目录下

solr5.3 实现同义词 扩展词典 停止词典 功能介绍

为修改ext.dic 如果

solr5.3 实现同义词 扩展词典 停止词典 功能介绍

编辑ext.dic文件添加我们要扩展的词汇例如:河北廊坊(格式一行为一个词组)

添加之后 保存 重新启动服务如图 : 河北廊坊已经成为一次词组出现

注: 如果编辑ext.dic时候未出现效果 需要将ext.dic格式设置为UTF-8格式

solr5.3 实现同义词 扩展词典 停止词典 功能介绍



扩展的停止词汇同理配置

停止词汇含义:编辑到 stopword.dic 文件中的词汇  在搜索的时候不会以词组的形式出现

例如:麻痹  这个词组放到了stopword.dic 中  在搜索时 麻痹 这个词就不会在出现了