ElasticSearch安装拼音插件(pinyin)
环境介绍
集群环境如下:
- 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,在节点终端执行如下代码:
curl -XPUT http://localhost:9200/medcl/-d'
{
"index" : {
"analysis" : {
"analyzer" : {
"pinyin_analyzer" : {
"tokenizer" : "my_pinyin",
"filter" : ["standard"]
}
},
"tokenizer" : {
"my_pinyin" : {
"type" : "pinyin",
"first_letter" : "none",
"padding_char" : " "
}
}
}
}
}'
- 通过浏览器测试分词
http://10.110.13.144:9200/medcl/_analyze?text=%E5%88%98%E5%BE%B7%E5%8D%8E&analyzer=pinyin_analyzer
若测试成功,浏览器返回结果如下:
{"tokens":[{"token":"liudehua","start_offset":0,"end_offset":3,"type":"word","position":0}]}
建立拼音索引
- 建立索引并设置分词
curl -XPOST http://localhost:9200/medcl/_close
curl -XPUT http://localhost:9200/medcl/_settings -d'
{
"index" : {
"analysis" : {
"analyzer" : {
"pinyin_analyzer" : {
"tokenizer" : "my_pinyin",
"filter" : ["standard"],
"type":"pinyin"
}
},
"tokenizer" : {
"my_pinyin" : {
"type" : "pinyin",
"first_letter" : "none",
"padding_char" : " "
}
}
}
}
}'
curl -XPOST http://localhost:9200/medcl/_open
- 建立mapping
curl -XPOST http://localhost:9200/medcl/folks/_mapping -d'
{
"folks": {
"properties": {
"name": {
"type": "multi_field",
"fields": {
"name": {
"type": "string",
"store": "no",
"term_vector": "with_positions_offsets",
"analyzer": "pinyin_analyzer",
"boost": 10
},
"primitive": {
"type": "string",
"store": "yes",
"analyzer": "keyword"
}
}
}
}
}
}'
- 上传数据
curl -XPOST http://localhost:9200/medcl/folks/andy -d'{"name":"刘德华"}'
- 在浏览器请求检索
http://10.110.13.144:9200/medcl/folks/_search?q=name:liudehua
若检索成功,浏览器返回以下结果:
{"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
附件列表
转载于:https://www.cnblogs.com/myitroad/p/5901629.html
ElasticSearch安装拼音插件(pinyin)相关推荐
- Elasticsearch安装拼音插件结合IK中文分词+拼音(在线+离线)
1.在线联网安装 直接进入容器内部进行编辑 # 进入容器内部编辑 docker exec -it elasticsearch bash# 安装IK分词器拼音插件(Github官网) elasticse ...
- Elasticsearch安装X-Pack插件
Elasticsearch安装X-Pack插件, 基于已经安装好的6.2.2版本的Elasticsearch, 安装6.2.2版本的X-Pack插件. 1.下载x-pack的zip包到本地 https ...
- elasticsearch 安装拼音分词
1. 下载拼音分词:可以根据自己的es版本选择对应的分词 的版本 https://github.com/medcl/elasticsearch-analysis-pinyin/releases?aft ...
- 59、Docker ElasticSearch安装拼音分词器及自定义分词器
一.使用拼音分词器 1.拼音分词器 2.docker下安装拼音分词器插件 3.测试拼音分词器 # 测试拼音分词器 POST /_analyze { "text": [" ...
- 完整elasticsearch安装及其插件安装
一.elasticsearch安装 1.官网下载安装包并上传并解压 2.es下建立data和logs目录 3.编辑conf/elasticsearch.yml文件 cluster:cluste ...
- 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:/ ...
- elasticsearch安装bigdest插件
bigdest下载地址:https://github.com/hlstudio/bigdesk 对于bigdest插件来说,安装是非常简单的. 只要三个步骤就可以了,下载--解压--进入到_side文 ...
- elasticsearch安装kibana插件
1.下载 2.解压 将解压后的文件放到D:\DevTools\kibana-4.6.0-windows-x86路径下 3.修改配置文件 D:\DevTools\kibana-4.6.0-windows ...
- Elasticsearch安装及SpringBoot整合ElasticSearch
一.Elasticsearch基本概念 Elasticsearch也是基于Lucene的全文检索库,本质也是存储数据,很多概念与MySQL类似的 1).对比关系 索引库(indices)->Da ...
最新文章
- iOS10 UI教程子视图和父视图UI层次结构和Views继承
- 被Facebook终止合作,被谷歌下架,股价营收皆腰斩,猎豹只剩AI一根救命稻草了...
- spring-session使用教程(一):redis共享session
- 表单中的只读和禁用属性
- 企业级业务系统开发实战-序言
- python提示对话框自动关闭_Python - tkinter:打开和关闭对话框窗口
- 设计代码说明什么是多态性?如何实现多态?(代码中要写注释解释)_狗屎一样的代码!快,重构我!...
- 升级成员服务器-从Windows 2012升级到2016案例之2
- Ubuntu20设置蓝牙
- 【Python爬虫】花瓣网爬取美女图片
- 估值过能预市下行风险
- 磁盘被写保护怎样去掉
- Linux电脑怎么接入arm开发板,PC机与ARM开发板之间实现NFS共享
- 尚学堂视频学习顺序 java如何自学
- 大数据求交集和并集处理
- Cannot use import statement outside a module
- UML预约挂号系统建模(团队作业)
- 数据仓库指北(文末附PDF下载)
- 计算机系女学霸男生追,杨紫李现解锁恋爱新姿势:吃最甜的糖,追最燃的梦
- 对比极米Z6X Pro和RS Pro 2,极米H5值得入手吗?极米H5评测来了
热门文章
- Spring Cloud Config配置中心使用(草稿版)
- jdk8 List集合 Stream distinct() 去重代码示例
- 深刻理解Java多态
- 解决服务间调用的三种传统方式
- Java Radom类的使用方法实例
- Hibernate一对多关联映射及cascade级联操作
- angluar ajax实例,Angular服务Request异步请求的实例讲解
- c语言图形界代码,求个用最简单的的代码来实现图形界面…
- html input font size,在移动端中Input大小随着font-size而变化
- 低通滤波器转带通滤波器公式由来_?OPA627AP 高通滤波器