ElasticSerach7.6.0拼音分词器安装和使用
第一步:安装ElasticSearch 7.6.0
由于IK和ElasticSerach已经是编译好的,不需要编译,直接在安装解压修改配置文件即可
详情请见另一篇安装博客:https://www.cnblogs.com/haolb123/p/14051580.html
第二步:下载拼音分词器
由于拼音分词器并非编译好的,需要用Maven package 进行打包,maven的下载和使用请百度。
- pingying 下载地址: https://github.com/medcl/elasticsearch-analysis-pinyin
- 中文 分词器地址:https://github.com/medcl/elasticsearch-analysis-ik
- 选择完毕版本,进行选择Zip包链接进行下载
下载到本地,进行解压,解压完毕之后发现是源码Maven工程,进行mvn package,master版本对应Es7.X,默认打包出来是7.7.0,我的es版本是7.6.0,
所以要修改C:\Users\Administrator\Downloads\elasticsearch-analysis-pinyin-master\elasticsearch-analysis-pinyin-master\pom.xml的文件。修改后如下:
- 执行打包命令:mvn package
- 打包完成后编译后的包在target/releases目录下的elasticsearch-analysis-pinyin-7.6.0.zip
-
将编译好的zip包进行解压,进行拷贝,上传到ElasticSerach的 plugins的文件夹下
- 重启ElasticSearch:systemctl restart elasticsearch.service
第三步:测试拼音分词器
创建索引
-
PUT /medcl/
-
{
-
"settings" : {
-
"analysis" : {
-
"analyzer" : {
-
"pinyin_analyzer" : {
-
"tokenizer" : "my_pinyin"
-
}
-
},
-
"tokenizer" : {
-
"my_pinyin" : {
-
"type" : "pinyin",
-
"keep_separate_first_letter" : false,
-
"keep_full_pinyin" : true,
-
"keep_original" : true,
-
"limit_first_letter_length" : 16,
-
"lowercase" : true,
-
"remove_duplicated_term" : true
-
}
-
}
-
}
-
}
-
}
测试分析器,分析一个中文名字
-
GET /medcl/_analyze
-
{
-
"text": ["郝利斌"],
-
"analyzer": "pinyin_analyzer"
-
}
返回查询结果
创建映射
-
POST /medcl/_mapping
-
{
-
"properties": {
-
"name": {
-
"type": "keyword",
-
"fields": {
-
"pinyin": {
-
"type": "text",
-
"store": false,
-
"term_vector": "with_offsets",
-
"analyzer": "pinyin_analyzer",
-
"boost": 10
-
}
-
}
-
}
-
}
-
}
-
#添加单条数据
-
POST /medcl/_create/andy
-
{"name":"刘德华"}
-
#批量添加数据
-
POST /medcl/_bulk
-
{"index": {"_index": "medcl","_id": "1"}}
-
{"name":"储之源"}
-
{"index": {"_index": "medcl","_id": "2"}}
-
{"name":"李根"}
-
{"index": {"_index": "medcl","_id": "3"}}
-
{"name":"赵阳"}
-
{"index": {"_index": "medcl","_id": "4"}}
-
{"name":"郝利斌"}
-
{"index": {"_index": "medcl","_id": "5"}}
-
{"name":"张旭"}
-
{"index": {"_index": "medcl","_id": "6"}}
-
{"name":"朱强"}
-
{"index": {"_index": "medcl","_id": "7"}}
-
{"name":"黄佳宁"}
-
{"index": {"_index": "medcl","_id": "8"}}
-
{"name":"袁晓军"}
-
#根据条件查询
-
GET /medcl/_search
-
{
-
"query": {
-
"match": {
-
"name.pinyin": "yxj"
-
}
-
}
-
}
返回结果:
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析