环境介绍

集群环境如下:

  • Ubuntu14.04
  • ElasticSearch 2.3.1(3节点)
  • JDK1.8.0_60

开发环境:

  • Windows10
  • JDK 1.8.0_66
  • Maven 3.3.3
  • Intellij IDEA 2016.1

下载编译Pinyin

  • clone elasticsearch-analysis-pinyin
    通过IntelliJ从git上克隆elasticsearch-analysis-pinyin工程;
  • 修改ES版本
    下载完项目后修改项目根目录下pom.xml文件中的properties/elasticsearch.version节点值为2.3.1,以确保编译后的版本兼容ES2.3.1版本;
  • 编译
    打开IntelliJ Terminal工具,输入以下命令:
    mvn clean install -Dmaven.test.skip
    可以在项目目录elasticsearch-analysis-pinyin\target\releases看到编译后的结果elasticsearch-analysis-pinyin-1.7.4.zip,以及elasticsearch-analysis-pinyin\target目录下的elasticsearch-analysis-pinyin-1.7.4.jar。
    这里我们主要使用zip包。

安装部署

  • 安装
    在ES服务器每个节点的${ES_HOME}/plugins目录下新建文件夹,名为pinyin;
    解压上述zip压缩包,可见三个文件elasticsearch-analysis-pinyin-1.7.4.jar、plugin-descriptor.properties、pinyin4j-2.5.0.jar,将其上传到ES服务器pinyin文件夹内即可;
  • 重启
    节点安装完pinyin插件后,需要重启生效。
  • 多节点集群
    ES集群每个节点都进行上述安装。

测试

分词测试

  • 建立测试索引
    建立一个测试分词效果的索引medcl,在节点终端执行如下代码:
  1. curl -XPUT http://localhost:9200/medcl/-d'
  2. {
  3. "index" : {
  4. "analysis" : {
  5. "analyzer" : {
  6. "pinyin_analyzer" : {
  7. "tokenizer" : "my_pinyin",
  8. "filter" : ["standard"]
  9. }
  10. },
  11. "tokenizer" : {
  12. "my_pinyin" : {
  13. "type" : "pinyin",
  14. "first_letter" : "none",
  15. "padding_char" : " "
  16. }
  17. }
  18. }
  19. }
  20. }'
  • 通过浏览器测试分词
  1. http://10.110.13.144:9200/medcl/_analyze?text=%E5%88%98%E5%BE%B7%E5%8D%8E&analyzer=pinyin_analyzer

若测试成功,浏览器返回结果如下:

  1. {"tokens":[{"token":"liudehua","start_offset":0,"end_offset":3,"type":"word","position":0}]}

建立拼音索引

  • 建立索引并设置分词
  1. curl -XPOST http://localhost:9200/medcl/_close
  2. curl -XPUT http://localhost:9200/medcl/_settings -d'
  3. {
  4. "index" : {
  5. "analysis" : {
  6. "analyzer" : {
  7. "pinyin_analyzer" : {
  8. "tokenizer" : "my_pinyin",
  9. "filter" : ["standard"],
  10. "type":"pinyin"
  11. }
  12. },
  13. "tokenizer" : {
  14. "my_pinyin" : {
  15. "type" : "pinyin",
  16. "first_letter" : "none",
  17. "padding_char" : " "
  18. }
  19. }
  20. }
  21. }
  22. }'
  23. curl -XPOST http://localhost:9200/medcl/_open
  • 建立mapping
  1. curl -XPOST http://localhost:9200/medcl/folks/_mapping -d'
  2. {
  3. "folks": {
  4. "properties": {
  5. "name": {
  6. "type": "multi_field",
  7. "fields": {
  8. "name": {
  9. "type": "string",
  10. "store": "no",
  11. "term_vector": "with_positions_offsets",
  12. "analyzer": "pinyin_analyzer",
  13. "boost": 10
  14. },
  15. "primitive": {
  16. "type": "string",
  17. "store": "yes",
  18. "analyzer": "keyword"
  19. }
  20. }
  21. }
  22. }
  23. }
  24. }'
  • 上传数据
  1. curl -XPOST http://localhost:9200/medcl/folks/andy -d'{"name":"刘德华"}'
  • 在浏览器请求检索
  1. http://10.110.13.144:9200/medcl/folks/_search?q=name:liudehua

若检索成功,浏览器返回以下结果:

  1. {"took":9,"timed_out":false,"_shards":{"total":5,"successful":5,"failed":0},"hits":{"total":1,"max_score":3.0685282,"hits":[{"_index":"pinyin","_type":"test","_id":"andy","_score":3.0685282,"_source":{"name":"刘德华"}}]}}

参考资料

  • ElasticSearch拼音插件elasticsearch-analysis-pinyin使用介绍
  • elasticsearch analysis pinyin
来自为知笔记(Wiz)

附件列表

转载于:https://www.cnblogs.com/myitroad/p/5901629.html

ElasticSearch安装拼音插件(pinyin)相关推荐

  1. Elasticsearch安装拼音插件结合IK中文分词+拼音(在线+离线)

    1.在线联网安装 直接进入容器内部进行编辑 # 进入容器内部编辑 docker exec -it elasticsearch bash# 安装IK分词器拼音插件(Github官网) elasticse ...

  2. Elasticsearch安装X-Pack插件

    Elasticsearch安装X-Pack插件, 基于已经安装好的6.2.2版本的Elasticsearch, 安装6.2.2版本的X-Pack插件. 1.下载x-pack的zip包到本地 https ...

  3. elasticsearch 安装拼音分词

    1. 下载拼音分词:可以根据自己的es版本选择对应的分词 的版本 https://github.com/medcl/elasticsearch-analysis-pinyin/releases?aft ...

  4. 59、Docker ElasticSearch安装拼音分词器及自定义分词器

    一.使用拼音分词器 1.拼音分词器 2.docker下安装拼音分词器插件 3.测试拼音分词器 # 测试拼音分词器 POST /_analyze {   "text": [" ...

  5. 完整elasticsearch安装及其插件安装

    一.elasticsearch安装 1.官网下载安装包并上传并解压 2.es下建立data和logs目录 3.编辑conf/elasticsearch.yml文件     cluster:cluste ...

  6. linux es数据库 head,elasticsearch安装es-sql插件

    说明:本示例是在CentOs Linux7.4上运行,安装的es版本为6.8.0,对应es-sql版本6.8.0,es-head版本5.0.0,需要安装JDK 下载es安装包 wget https:/ ...

  7. elasticsearch安装bigdest插件

    bigdest下载地址:https://github.com/hlstudio/bigdesk 对于bigdest插件来说,安装是非常简单的. 只要三个步骤就可以了,下载--解压--进入到_side文 ...

  8. elasticsearch安装kibana插件

    1.下载 2.解压 将解压后的文件放到D:\DevTools\kibana-4.6.0-windows-x86路径下 3.修改配置文件 D:\DevTools\kibana-4.6.0-windows ...

  9. Elasticsearch安装及SpringBoot整合ElasticSearch

    一.Elasticsearch基本概念 Elasticsearch也是基于Lucene的全文检索库,本质也是存储数据,很多概念与MySQL类似的 1).对比关系 索引库(indices)->Da ...

最新文章

  1. iOS10 UI教程子视图和父视图UI层次结构和Views继承
  2. 被Facebook终止合作,被谷歌下架,股价营收皆腰斩,猎豹只剩AI一根救命稻草了...
  3. spring-session使用教程(一):redis共享session
  4. 表单中的只读和禁用属性
  5. 企业级业务系统开发实战-序言
  6. python提示对话框自动关闭_Python - tkinter:打开和关闭对话框窗口
  7. 设计代码说明什么是多态性?如何实现多态?(代码中要写注释解释)_狗屎一样的代码!快,重构我!...
  8. 升级成员服务器-从Windows 2012升级到2016案例之2
  9. Ubuntu20设置蓝牙
  10. 【Python爬虫】花瓣网爬取美女图片
  11. 估值过能预市下行风险
  12. 磁盘被写保护怎样去掉
  13. Linux电脑怎么接入arm开发板,PC机与ARM开发板之间实现NFS共享
  14. 尚学堂视频学习顺序 java如何自学
  15. 大数据求交集和并集处理
  16. Cannot use import statement outside a module
  17. UML预约挂号系统建模(团队作业)
  18. 数据仓库指北(文末附PDF下载)
  19. 计算机系女学霸男生追,杨紫李现解锁恋爱新姿势:吃最甜的糖,追最燃的梦
  20. 对比极米Z6X Pro和RS Pro 2,极米H5值得入手吗?极米H5评测来了

热门文章

  1. Spring Cloud Config配置中心使用(草稿版)
  2. jdk8 List集合 Stream distinct() 去重代码示例
  3. 深刻理解Java多态
  4. 解决服务间调用的三种传统方式
  5. Java Radom类的使用方法实例
  6. Hibernate一对多关联映射及cascade级联操作
  7. angluar ajax实例,Angular服务Request异步请求的实例讲解
  8. c语言图形界代码,求个用最简单的的代码来实现图形界面…
  9. html input font size,在移动端中Input大小随着font-size而变化
  10. 低通滤波器转带通滤波器公式由来_?OPA627AP 高通滤波器