文档章节

在Solr4.9中使用IKAnalyzer,实现同义词,扩展词库,停顿词的添加

翊骷
 翊骷
发布于 2014/09/11 09:18
字数 301
阅读 1863
收藏 0

     在使用solr4.9的过程中,使用了IKAnalyzer分词器,其中遇到了不少问题,现在做个记录,以备后续只用。

     首先使用IKAnalyzer是看到群里有人介绍,但是貌似现在IKAnalyzer已经没人更新了。。。不知道是不是真的,先不管这些,下面介绍一下如何在solr中使用它。

     在solr的配置文件schema.xml中添加


<!--IKAnalyzer-->
   <fieldType name="text_ik" class="solr.TextField" positionIncrementGap="100">  
     <analyzer type="index">  
       <tokenizer class="org.wltea.analyzer.lucene.IKAnalyzerSolrFactory"  isMaxWordLength="false"/>  
       <filter class="solr.LowerCaseFilterFactory"/>  
     </analyzer>  
     <analyzer type="query">  
       <tokenizer class="org.wltea.analyzer.lucene.IKAnalyzerSolrFactory"  isMaxWordLength="true"/>       
       <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>  
       <filter class="solr.LowerCaseFilterFactory"/>  
     </analyzer>  
   </fieldType>
    其中的org.wltea.analyzer.lucene.IKAnalyzerSolrFactory类是自己扩展的,一会我会把IKAnalyzer扩展到Jar包传上来。

synonyms.txt在solr_home/didi/conf文件下。

   配置扩展词跟扩展停顿词配置入下:

IKAnalyzer.cfg.xml内容如下:

<?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_dict">mydict.dic;</entry>

<!--用户可以在这里配置自己的扩展停止词字典-->
 
<entry key="ext_stopwords">stopword.dic;</entry>  
</properties>

jar包下载路径:http://pan.baidu.com/s/1kT1cysn

© 著作权归作者所有

共有 人打赏支持
翊骷
粉丝 14
博文 125
码字总数 68191
作品 0
济南
程序员
私信 提问
加载中

评论(1)

java人生
java人生
你这个jar包加上了为什么还是提示 :
collectionTest1: org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: Plugin init failure for [schema.xml] fieldType "text_ik": Plugin init failure for [schema.xml] analyzer/tokenizer: Error instantiating class: 'org.wltea.analyzer.lucene.IKAnalyzerSolrFactory'

这是为什么呢?

我也打开你的jar看了 有这个IKAnalyzerSolrFactory.class类的啊。
IKAnalyzer分词器自定义扩展字典设置不起作用

IKAnalyzer配置如下: ext.dic是自定义扩展词库,我在里面添加了一项: 欧洲杯四强赛 希望IKAnalyzer能把它当作一个词,不要把它拆分,可是运行结果却是: 加载扩展词典:/ext.dic 加载扩展停止词典...

vnetoolxw
2014/03/29
9.6K
8
solr配置停止词,同义词和扩展词库

停止词:lucene的停止词是无功能意义的词,比如is 、a 、are 、”的”,“得”,“我” 等,这些词会在句子中多次出现却无意义,所以在分词的时候需要把这些词过滤掉。 扩展词库:就是不想让...

zachary124
2013/07/05
0
2
Lucene的中文分词器IKAnalyzer

分词器对英文的支持是非常好的。 一般分词经过的流程: 1)切分关键词 2)去除停用词 3)把英文单词转为小写 但是老外写的分词器对中文分词一般都是单字分词,分词的效果不好。 国人林良益写...

王国龙_成长
2013/02/05
0
3
得到文章的关键词后根据它对文章划分类别

使用分词器得到一篇文章的词,例如对一句话“IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。从2006年12月推出1.0版开始,IKAnalyzer已经推出 了3个大版本”分析, 得到...

printf_ll
2014/09/04
586
2
Lucene 自定义分词

各位大神,帮菜鸟看个问题! 使用Lucene3.5版本以及 IKAnalyzer 分词, 在对IP字段(192.168.2.240)分词时,结果为 : 192.168.2.240;其他表字段同样采用IKAnalyzer 分词; 我的问题是:如何...

learn_more
2015/05/13
246
3

没有更多内容

加载失败,请刷新页面

加载更多

SpringBoot与pageHelper版本问题

<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.6.RELEASE</version></parent> <dependency>......

WALK_MAN
16分钟前
1
0
PHP开发支付宝微信个人免签支付接口实例

这是一个PHP开发支付宝微信个人免签支付接口实例,支付宝微信即时到帐接口,使用原生支付宝即时到帐接口修改而来,即可实现多接口收款功能,开发只需要按照支付宝即时到帐接口开发即可,减少...

sucaihuo
21分钟前
2
0
《孩子,你慢慢来》的读书笔记与读后感2600字

《孩子,你慢慢来》的读书笔记与读后感2600字: 龙——保护儿童的思维: 今天读《孩子,你慢慢来》龙这一节,安安的妈妈是中国人,她在安安两岁的时候就认识到安安有着固执的个性。安安正是处...

原创小博客
32分钟前
2
0
kubernetes每个节点创建一个服务的Pod

1. 问题场景 希望一个worker节点上仅部署同样的服务一个. 比如: kubernets有三个worker节点,三个节点部署N个副本的api服务, 为了提高服务效率希望加入缓存,需要为三个节点个部署一个redis服务...

jimmywa
36分钟前
5
0
搭建Git服务器

Git本身是没有服务器和客户端的区别,但是如果我们要共享git仓库时,就需要ssh、http,它们就有服务器和客户端的区别。 Windows平台下搭建Git服务器 1、在自己电脑搭建Git服务器,且只有自己...

国仔饼
51分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部