ElasticSearch7.6.2 拼音,中文,中音搜索,高亮搜索关键字
文章目录
- 前言
- 一、安装elasticsearch-analysis-pinyin分词器
- 1.下载解压打包
- 2.解压到elasticsearch plugins 插件目录下
- 3.重启es查看分词器是否生效
- 二、kibana配置analysis-pinyin插件
- 1.测试analysis-pinyin是否生效
- 1.新建索引
- 1.1查看 [README.md](https://github.com/medcl/elasticsearch-analysis-pinyin#readme)
- 1.2.创建一个索引与自定义拼音分析器
- 2.映射字段,测试保存
- 3.测试搜索
- 1.全拼搜索
- 2.中文搜索
- 3.中音混合搜索
- 4.搜索关键字高亮问题
- 总结
前言
在公司业务需要实现中音,拼音搜索。记录一下实现过程与遇见的问题
一、安装elasticsearch-analysis-pinyin分词器
1.下载解压打包
1.github下载地址: elasticsearch-analysis-pinyin.
2.下载对应的elasticsearch版本,笔者的elasticsearch是7.6.2所有下载拼音分词器必须对应版本
3.解压
3.打包(进入解压文件的根目录打包,打包命令:mvn clean package -Dmaven.skip.test=true)
2.解压到elasticsearch plugins 插件目录下
打包好后进入releases目录下把zip拷贝到elasticsearch plugins 插件目录
注意下载的分词器是7.6.2版本打包后的zip是7.4.0版本需要修改版本号否则启动es会报错
解压 unzip elasticsearch-analysis-pinyin-7.4.0.zip -d pinyin
进入plugin-descriptor.properties修改es对应的版本号
保存退出
3.重启es查看分词器是否生效
可以看到已加载analysis-pinyin
二、kibana配置analysis-pinyin插件
1.测试analysis-pinyin是否生效
1.新建索引
1.1查看 README.md
1.2.创建一个索引与自定义拼音分析器
根据README.md创建
PUT test
{"settings": {"analysis": {"analyzer": {"pinyin_analyzer": {"tokenizer": "my_pinyin"}},"tokenizer": {"my_pinyin": {"type": "pinyin","keep_separate_first_letter": false,"keep_full_pinyin": true,"limit_first_letter_length": 16,"lowercase": true,"remove_duplicated_term": true}}}}
}
2.映射字段,测试保存
PUT /test/_mapping
{"properties": {"title": {"type": "text","analyzer": "pinyin_analyzer"},"price": {"type": "float"}}
}
POST _bulk
{"index":{"_index":"test","_type":"_doc"}}
{"title":"小天你好","price":2699}
{"index":{"_index":"test","_type":"_doc"}}
{"title":"天气真好","price":2699}
3.测试搜索
1.全拼搜索
2.中文搜索
3.中音混合搜索
4.搜索关键字高亮问题
不知道大家有没有发现上面的搜索结果高亮词都是 < em> < /em>xxxx,高亮关键字明显有问题.
github已经有人Issues我们来看一看解决方案 链接.
1.修改上面自定义拼音的tokenizer
PUT test
{"settings": {"analysis": {"analyzer": {"pinyin_analyzer": {"tokenizer": "my_pinyin"}},"tokenizer": {"my_pinyin": {"type": "pinyin","keep_full_pinyin": true,"keep_original": false,"limit_first_letter_length": 16,"lowercase": true,"remove_duplicated_term": true,"ignore_pinyin_offset": false,"keep_first_letter": true,"keep_separate_first_letter": true}}}}
}
2.测试搜索
问题彻底解决
总结
完
感谢您的阅读
如果你发现了错误的地方,可以在留言区提出来,我对其加以修改
ElasticSearch7.6.2 拼音,中文,中音搜索,高亮搜索关键字相关推荐
- 混合索引java代码,Elasticsearch 实现拼音,中文,首字母混合搜索
在实际搜索需求中,常常需要对中文做拼音搜索,首字母搜索或者中文拼音首字母混合搜索. 比如要对 "广发聚财信用" 这几个中文进行拼音搜索,我们可能的搜索关键字是:"广发&q ...
- js+正文规则 高亮搜索关键字(二)
[原创]JavaScript高亮搜索关键字(改进版) [2009-1-6 16:25:00] by mwfls 11 我顶 .maks { line-height: 150%; padding: 10 ...
- [No000018C]Vim清除上次的搜索高亮结果-Vim使用技巧(1)
在打开文件中使用Vim搜索功能并开启高亮显示后怎么取消当前高亮显示的目标词? 最简单的方法是再使用Vim搜索一串文档中不存在的目标词来覆盖当前高亮的搜索结果. 其实,可以在Vim尾行模式下使用 :no ...
- 微信小程序搜索多个关键字高亮
一般项目中会有搜索,有了搜索就会有关键字高亮,还是多个关键字搜索高亮.下面就是我为大家整理的. 直接上代码(js中) //重要部分**var seArr = e.detail.value.replac ...
- SpringBoot集成Elasticsearch实现博客高亮搜索
文章目录 效果展示 二.使用步骤 1.引入maven依赖 2. 编写spplication.properties 3.配置客户端 4.高亮搜索 5.转换成实体对象 总结 效果展示 虽然看起来巴适,但是 ...
- 解决在全文搜索中搜索中文字符
解决在全文搜索中搜索中文字符出错补丁:点击下载 http://www.artbbs.net/Demo/Dvbbs_Help/Help_Img/SQLx86.rar 解决中文字符出错问题: 方法一: 把 ...
- 搜索关键字高亮_SpringBoot+Mybatis-Plus+Elasticsearch 实现关键字搜索高亮展示
一.概述&介绍 Elasticsearch:Elasticsearch 是基于Lucense 技术的搜索引擎(服务器),将数据进行缓存再进行查询. 与数据库查询的比较: (1)相当于sql ...
- Java 中文转拼音/汉字转拼音, 中文转五笔/汉字转五笔, 下载字典!
Java 中文转拼音/汉字转拼音, 中文转五笔/汉字转五笔, 下载字典! 源码 CharacterElement.java 源码 Dict.java 输出拼音 输出五笔 输出全部 字典下载地址 源码 ...
- 在ECharts树图中实现搜索高亮和自动展开
目录 一.搜索高亮 二.搜索自动展开 一.搜索高亮 在formatter中对搜索结果进行格式化,添加一个a标签,然后用rich富文本将a标签高亮显示,最后用setOption刷新. var optio ...
最新文章
- 使用c#訪问Access数据库时,提示找不到可安装的 ISAM
- 网络编程中的大端和小端
- Java并行程序基础(十二)
- 如何制作快速加载的HTML页面
- Windows10 安装 Twisted
- mysql主键设置after_mysql如何改变主键属性
- 如果使用 sftp 命令
- 如何检查Android上的互联网访问? InetAddress永远不会超时
- DevOps和持续交付
- 中国第一个正式商用SD-WAN项目面世
- 来自18年9月底的总结及展望
- vue 保留小数点厚一位_蓝盈莹真是一位有韵味的女人,羊羔绒还要拼上牛仔穿,真惹眼...
- 教程丨如何在AdsPower浏览器内快速配置UCloud 服务器
- mysql合并两个表_MYSQL如何合并两个表
- 项目管理整理第二篇:项目计划(3)——进度计划
- Win10应用商店无法联网
- linux命令小记(grep、awk、sed)
- Datagrip连接mysql错误[08S01]解决办法
- 小红书榜单,五大行业图文笔记类
- C#软件加序列号激活、试用期限