为elastic添加中文分词

添加中文分词
可以直接使用配置好的es中文版: https://github.com/medcl/elasticsearch-rtf
可以可以自己集成中文分词组件,medcl为es写了三个中文分词插件,一个是ik的,一个是mmseg的,一个是pinyin4j的。
下面介绍这三个插件与es的集成:
1.ik与es的集成
1.1下载

1.2编译
解压下载的elasticsearch-analysis-ik-1.2.6.zip
编译
在cmd下编译
Windows开始菜单---》运行-----》cmd-----》回车
e:
cd  E:\j2ee\search\中文分词器\for_es\elasticsearch-analysis-ik-1.2.6
E:\j2ee\search\中文分词器\for_es\elasticsearch-analysis-ik-1.2.6>E:\j2ee\maven\apache-maven-3.1.1-bin\apache-maven-3.1.1\bin\mvn package






1.3配置
1.3.1在%ES_HOME%目录下新建目录/plugins/analysis-ik
mkdir   -p   /usr/local/search/elasticsearch-1.3.1/plugins/analysis-ik



1.3.2将elasticsearch-analysis-ik-1.2.6.jar拷贝到目录/usr/local/search/elasticsearch-1.3.1 /plugins/analysis-ik下


1.3.3将解压elasticsearch-analysis-ik-1.2.6.zip后的config/ik目录拷贝到/usr/local/search/elasticsearch-1.3.1 /config/目录下



1.3.4修改elasticsearch.yml
vi   /usr/local/search/elasticsearch-1.3.1 /config/elasticsearch.yml
index:
  analysis:
    analyzer:
      ik:
          alias: [news_analyzer_ik,ik_analyzer]
          type: org.elasticsearch.index.analysis.IkAnalyzerProvider
          
index.analysis.analyzer.default.type : "ik"



1.3.5IKAnalyzer.cfg.xml
   可以在/usr/local/search/elasticsearch-1.3.1/config/ik /IKAnalyzer.cfg.xml中配置一些扩展的词库字典,以及一些停用词词库字典

vi   /usr/local/search/elasticsearch-1.3.1/config/ik /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">custom/mydict.dic;custom/single_word_low_freq.dic</entry> 
<!--用户可以在这里配置自己的扩展停止词字典-->
<entry key="ext_stopwords">custom/ext_stopword.dic</entry> 
</properties>

1.3.6
重启es
 /usr/local/search/elasticsearch-1.3.1/bin/service/elasticsearch stop

 /usr/local/search/elasticsearch-1.3.1/bin/service/elasticsearch start


1.4测试
1.4.1创建mapping,指定使用中文分词器

 
 /**
  * 创建类型映射关系,使用中文分词器
  * 注意:在定义mapping之前,需要先创建一个index库
  * @param client
  * @throws IOException
  */
 public static void mapping4CN(Client client) throws IOException{
  XContentBuilder mapping=XContentFactory.jsonBuilder().startObject().startObject("fulltext")
  .startObject("_all").field("indexAnalyzer","ik").field("searchAnalyzer","ik").f
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值