Elasticsearch 中文分词(elasticsearch-analysis-ik) 安装
由于elasticsearch基于lucene,所以天然地就多了许多lucene上的中文分词的支持,比如 IK, Paoding, MMSEG4J等lucene中文分词原理上都能在elasticsearch上使用。当然前提是有elasticsearch的插件。 至于插件怎么开发,这里有一片文章介绍:
http://log.medcl.net/item/2011/07/diving-into-elasticsearch-3-custom-analysis-plugin/
暂时还没时间看,留在以后仔细研究, 这里只记录本人使用medcl提供的IK分词插件的集成步骤。
安装步骤:
1、到github网站下载源代码,网站地址为:https://github.com/medcl/elasticsearch-analysis-ik
右侧下方有一个按钮“Download ZIP",点击下载源代码elasticsearch-analysis-ik-master.zip。
2、解压文件elasticsearch-analysis-ik-master.zip,进入下载目录,执行命令:
unzip elasticsearch-analysis-ik-master.zip
3、因为是源代码,此处需要使用maven打包,进入解压文件夹中,执行命令:
4、将打包后,得到的目录文件target/releases下的elasticsearch-analysis-ik-1.9.4.zip复制到ES安装目录的plugins/analysis-ik目录下。
5、在plugins/analysis-ik目录下解压elasticsearch-analysis-ik-1.9.4.zip
6、在ES的配置文件elasticsearch.yml中增加ik的配置,在最后增加:
index.analysis.analyzer.ik.type: "ik"
7、重新启动elasticsearch服务,这样就完成配置了,收入命令:
curl -XPOST "http://localhost:9200/_analyze?analyzer=ik&pretty=true&text=helloworld,中华人民共和国"
测试结果如下:
{
"tokens" : [ {
"token" : "helloworld",
"start_offset" : 0,
"end_offset" : 10,
"type" : "ENGLISH",
"position" : 0
}, {
"token" : "中华人民共和国",
"start_offset" : 11,
"end_offset" : 18,
"type" : "CN_WORD",
"position" : 1
}, {
"token" : "中华人民",
"start_offset" : 11,
"end_offset" : 15,
"type" : "CN_WORD",
"position" : 2
}, {
"token" : "中华",
"start_offset" : 11,
"end_offset" : 13,
"type" : "CN_WORD",
"position" : 3
}, {
"token" : "华人",
"start_offset" : 12,
"end_offset" : 14,
"type" : "CN_WORD",
"position" : 4
}, {
"token" : "人民共和国",
"start_offset" : 13,
"end_offset" : 18,
"type" : "CN_WORD",
"position" : 5
}, {
"token" : "人民",
"start_offset" : 13,
"end_offset" : 15,
"type" : "CN_WORD",
"position" : 6
}, {
"token" : "共和国",
"start_offset" : 15,
"end_offset" : 18,
"type" : "CN_WORD",
"position" : 7
}, {
"token" : "共和",
"start_offset" : 15,
"end_offset" : 17,
"type" : "CN_WORD",
"position" : 8
}, {
"token" : "国",
"start_offset" : 17,
"end_offset" : 18,
"type" : "CN_CHAR",
"position" : 9
} ]
}
注意点:
本人绕了很多弯路,网上很多都不行,总结:
一、maven一定要编译,因为elasticsearch和ik各个版本不同,对应编译生成的文件就不同,所以想引用elasticsearch-rtm包的朋友,一定要注意区分。
二、我是通过rpm安装elasticsearch,事实证明字典config目录,可以在plugins目录下,和插件unzip放在一起
参考资料:
Elasticsearch初步使用(安装、Head配置、分词器配置)
最新文章
- authentication与网站安全验证
- (转)CDN——到底用还是不用?
- hibernate 注解 主键生成策略
- hdu4727 The Number Off of FFF
- sqlite报错OutOfMemory
- ios 改变状态栏颜色
- Android实现后台长期监听时间变化
- iOS 网络与多线程--6.下载并保存网络图片
- Ascll
- iOS状态栏字体设置为白色
- css background-position (图片裁取)
- Android应用-包装脚本批量方法
- 处理 Vue 单页面应用 SEO 的另一种思路
- 【转载】Jenkins安装以及邮件配置
- 你不可不知的Java引用类型之——PhantomReference源码详解
- django 配置media 存放调用 图片、图标等文件
- mac安装adb
- 初识mysql数据库
- IntelliJ IDEA 性能优化
- EF 事务(非分布式事务)