ElasticSearch1.7.1拼音插件elasticsearch-analysis-pinyin-1.3.3使用介绍
ElasticSearch拼音插件elasticsearch-analysis-pinyin使用介绍
https://my.oschina.net/xiaohui249/blog/214505
摘要: elasticsearch-analysis-pinyin是ElasticSearch的一个分词插件,能够实现拼音分词索引。本文主要介绍该插件的安装和具体使用方法。
关于elasticsearch-analysis-pinyin的介绍,就此省略,看完此文后你就会知道它有多神奇。
一、安装
安装该插件的前提是你已经安装了ES(ElasticSearch),如果没有参照安装向导。
安装该插件需要2个jar包,一个当然是elasticsearch-analysis-pinyin.jar,另一个是pinyin4j.jar。很多网站都有下载,但是建议亲自编译elasticsearch-analysis-pinyin生成,因为这样不会有版本问题。好,下面介绍编译源码获取上述两个jar包的方法。
1、下载源码(需要安装了git)
git clone https://github.com/medcl/elasticsearch-analysis-pinyin.git
2、编译(需要安装了maven)
进入download下来的源码目录:cd elasticsearch-analysis-pinyin,然后执行编译命令:mvn clean install -Dmaven.test.skip。编译成功之后,你将在elasticsearch-analysis-pinyin/target目录中看到elasticsearch-analysis-pinyin的jar包,我编译完成之后,生成的jar包名称为:elasticsearch-analysis-pinyin-1.2.1.jar,然后elasticsearch-analysis-pinyin/lib目录中看到pinyin4j的jar包,我的jar包名称为:pinyin4j-2.5.0.jar。
3、具体安装
在ES_HOME目录下创建一个plugins目录(如果没有的话),然后在plugins目录下创建pinyin目录,将前两个步骤中得到的jar包拷贝到ES_HOME/plugins/pinyin目录下面。ok,插件安装基本完成,easy吧!
二、如何使用
首先建议重新启动ES服务。
1、分词测试
(1) 创建一个测试索引:
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" : " "
}
}
}
}
}'
(2) 通过浏览器请求分词效果
在浏览器输入
http://your_es_host:9200/medcl/_analyze?text=%e5%88%98%e5%be%b7%e5%8d%8e&analyzer=pinyin_analyzer
返回结果如下,分词成功,该插件能够轻易的得到中文对应的拼音分词,然后搜索可以对输入的拼音提示对应的中文,提高搜索体验。
{"tokens":[{"token":"liu de hua ","start_offset":0,"end_offset":3,"type":"word","position":1}]}
2、使用该插件创建索引,实现上图的拼音提示功能
(1) 创建空索引,设置分词器
curl -XPOST http://localhost:9200/medcl/_close (if you had create index 'medcl', do this)
curl -XPUT http://localhost:9200/medcl/_settings -d'
{
"index" : {
"analysis" : {
"analyzer" : {
"pinyin_analyzer" : {
"tokenizer" : ["my_pinyin"],
"filter" : ["standard","nGram"]
}
},
"tokenizer" : {
"my_pinyin" : {
"type" : "pinyin",
"first_letter" : "prefix",
"padding_char" : ""
}
}
}
}
}'
curl -XPOST http://localhost:9200/medcl/_open (if you had create index 'medcl', do this)
(2) 创建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"
}
}
}
}
}
}'
(3) 开始索引数据
curl -XPOST http://localhost:9200/medcl/folks/andy -d'{"name":"刘德华"}'
(4) 检索数据
在浏览器一次输入下面的连接,你将会搜索得到上面索引的那个记录:刘德华。
http://localhost:9200/medcl/folks/_search?q=name:刘
http://localhost:9200/medcl/folks/_search?q=name:刘德
http://localhost:9200/medcl/folks/_search?q=name:liu
http://localhost:9200/medcl/folks/_search?q=name:ldh
http://localhost:9200/medcl/folks/_search?q=name:dehua
ElasticSearch1.7.1拼音插件elasticsearch-analysis-pinyin-1.3.3使用介绍的更多相关文章
- ElasticSearch安装拼音插件(pinyin)
环境介绍 集群环境如下: Ubuntu14.04 ElasticSearch 2.3.1(3节点) JDK1.8.0_60 开发环境: Windows10 JDK 1.8.0_66 Maven 3.3 ...
- ElasticSearch搜索引擎安装配置拼音插件pinyin
近几篇ElasticSearch系列: 1.阿里云服务器Linux系统安装配置ElasticSearch搜索引擎 2.Linux系统中ElasticSearch搜索引擎安装配置Head插件 3.Ela ...
- ElasticSearch安装拼音插件 elasticsearch-analysis-pinyin
elasticsearch-analysis-pinyin 是 ElasticSearch的拼音插件.强大的功能支持拼音等的搜索 1.下载源代码 源码地址https://github.com/medc ...
- es6.4.0安装和配置IK+拼音插件 实现非全拼搜索
安装IK分词器 一.进入到es的plugins文件夹创建文件夹analysis-ikmkdir analysis-ik二.下载ik压缩包文件wget https://github.com/medcl/ ...
- elasticsearch插件安装之--拼音插件
/** * vm12下的centos7.2 * elasticsearch 5.2.2 */ 有时在淘宝搜索商品的时候, 会发现使用汉字, 拼音, 或者拼音混合汉字都会出来想要的搜索结果, 今天找了一 ...
- Elasticsearch IK+pinyin
如何在Elasticsearch中安装中文分词器(IK+pinyin) 如果直接使用Elasticsearch的朋友在处理中文内容的搜索时,肯定会遇到很尴尬的问题——中文词语被分成了一个一个的汉字 ...
- Elasticsearch:Pinyin 分词器
Elastic的Medcl提供了一种搜索Pinyin搜索的方法.拼音搜索在很多的应用场景中都有被用到.比如在百度搜索中,我们使用拼音就可以出现汉字: 对于我们中国人来说,拼音搜索也是非常直接的.那么在 ...
- [功能帮助类] C#取汉字拼音的首字母PinYin帮助类 (转载)
点击下载 PinYin.rar 主要功能就是取汉字拼音的首字母,只要你输入一个汉字,或者是多个汉字就会取出相应的道字母,主要是方便查询使用的 /// <summary> /// 编 码 人 ...
- elasticsearch安装与使用(4)-- 安装中文分词插件elasticsearch 的 jdbc
前言 elasticsearch(下面简称ES)使用jdbc连接mysql比go-mysql-elasticsearch的elasticsearch-river-jdbc能够很好的支持增量数据更新的问 ...
随机推荐
- 快速玩转linux(4)
websever安装配置 Nginx & Apache 并发量. Apache基本操作 解释 命令 安装 yum install httpd 启动 service httpd start 停止 ...
- Markdown基本使用
最近在写毕业论文,打算列个提纲,觉得有条理的搜集资料规划布局很重要,用Markdown写即有利于增强我的编写接口文档能力,也便于查看. markdown编写软件很多,markdownpad不错(mar ...
- maven项目打包后war文件丢失配置文件
使用maven package打包项目时出现配置文件丢失的现象,此类问题解决办法如下: 在web项目pom.xml 文件中添加如下: 在<build>标签中添加如下配置: <reso ...
- 响应式布局--设置rem自适应
//designWidth:设计稿的实际宽度值,需要根据实际设置 //maxWidth:制作稿的最大宽度值,需要根据实际设置 //这段js的最后面有两个参数记得要设置,一个为设计稿实际宽度,一个为制作 ...
- python爬虫之有道在线翻译
今天初学了python这门课 老师简单的讲解了一下 python的安装环境,配置环境变量,当前主流Python使用的是3.x版本, 下午简单的讲解了python的起源,发展以及在各个方面的应用 然后晚 ...
- 在WPF中自定义控件(3) CustomControl (上)
原文:在WPF中自定义控件(3) CustomControl (上) 在WPF中自定义控件(3) CustomControl (上) 周银辉 ...
- Python的import导入与时间
一.模块与包 模块,在Python可理解为对应于一个文件.在创建了一个脚本文件后,定义了某些函数和变量.你在其他需要这些功能的文件中,导入这模块,就可重用这些函数和变量.一般用module_name. ...
- EntityFramewrok 使用
1.使用一些查询比较复杂或者需要拼接的查询的时候最好一直保持IQueryable.一直到最后取数据的时候才进行查询.例如分页之类的条件拼接. var query = dbset.Where(expre ...
- CWindowWnd类源码分析
CWindowWnd代码在UIBase.h和UIBase.cpp文件里.主要实现的是一个基本窗口的创建与消息处理. 相关代码: 头文件: class UILIB_API CWindowWnd { pu ...
- win10子系统Ubuntu18.04下安装图形界面
前提:windows 10 已经安装WSL(windows subsystem for linux),并能正确运行Bash. 要想使用Linux的图形用户界面通常有两种方法,一种是使用X-Window ...