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"
- }
- }
- }
返回结果:
分类:
Elasticsearch
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)