文章目录

  • 前言
  • 一、安装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 拼音,中文,中音搜索,高亮搜索关键字相关推荐

  1. 混合索引java代码,Elasticsearch 实现拼音,中文,首字母混合搜索

    在实际搜索需求中,常常需要对中文做拼音搜索,首字母搜索或者中文拼音首字母混合搜索. 比如要对 "广发聚财信用" 这几个中文进行拼音搜索,我们可能的搜索关键字是:"广发&q ...

  2. js+正文规则 高亮搜索关键字(二)

    [原创]JavaScript高亮搜索关键字(改进版) [2009-1-6 16:25:00] by mwfls 11 我顶 .maks { line-height: 150%; padding: 10 ...

  3. [No000018C]Vim清除上次的搜索高亮结果-Vim使用技巧(1)

    在打开文件中使用Vim搜索功能并开启高亮显示后怎么取消当前高亮显示的目标词? 最简单的方法是再使用Vim搜索一串文档中不存在的目标词来覆盖当前高亮的搜索结果. 其实,可以在Vim尾行模式下使用 :no ...

  4. 微信小程序搜索多个关键字高亮

    一般项目中会有搜索,有了搜索就会有关键字高亮,还是多个关键字搜索高亮.下面就是我为大家整理的. 直接上代码(js中) //重要部分**var seArr = e.detail.value.replac ...

  5. SpringBoot集成Elasticsearch实现博客高亮搜索

    文章目录 效果展示 二.使用步骤 1.引入maven依赖 2. 编写spplication.properties 3.配置客户端 4.高亮搜索 5.转换成实体对象 总结 效果展示 虽然看起来巴适,但是 ...

  6. 解决在全文搜索中搜索中文字符

    解决在全文搜索中搜索中文字符出错补丁:点击下载 http://www.artbbs.net/Demo/Dvbbs_Help/Help_Img/SQLx86.rar 解决中文字符出错问题: 方法一: 把 ...

  7. 搜索关键字高亮_SpringBoot+Mybatis-Plus+Elasticsearch 实现关键字搜索高亮展示

    一.概述&介绍 Elasticsearch:Elasticsearch 是基于Lucense 技术的搜索引擎(服务器),将数据进行缓存再进行查询.​ 与数据库查询的比较:​ (1)相当于sql ...

  8. Java 中文转拼音/汉字转拼音, 中文转五笔/汉字转五笔, 下载字典!

    Java 中文转拼音/汉字转拼音, 中文转五笔/汉字转五笔, 下载字典! 源码 CharacterElement.java 源码 Dict.java 输出拼音 输出五笔 输出全部 字典下载地址 源码 ...

  9. 在ECharts树图中实现搜索高亮和自动展开

    目录 一.搜索高亮 二.搜索自动展开 一.搜索高亮 在formatter中对搜索结果进行格式化,添加一个a标签,然后用rich富文本将a标签高亮显示,最后用setOption刷新. var optio ...

最新文章

  1. 使用c#訪问Access数据库时,提示找不到可安装的 ISAM
  2. 网络编程中的大端和小端
  3. Java并行程序基础(十二)
  4. 如何制作快速加载的HTML页面
  5. Windows10 安装 Twisted
  6. mysql主键设置after_mysql如何改变主键属性
  7. 如果使用 sftp 命令
  8. 如何检查Android上的互联网访问? InetAddress永远不会超时
  9. DevOps和持续交付
  10. 中国第一个正式商用SD-WAN项目面世
  11. 来自18年9月底的总结及展望
  12. vue 保留小数点厚一位_蓝盈莹真是一位有韵味的女人,羊羔绒还要拼上牛仔穿,真惹眼...
  13. 教程丨如何在AdsPower浏览器内快速配置UCloud 服务器
  14. mysql合并两个表_MYSQL如何合并两个表
  15. 项目管理整理第二篇:项目计划(3)——进度计划
  16. Win10应用商店无法联网
  17. linux命令小记(grep、awk、sed)
  18. Datagrip连接mysql错误[08S01]解决办法
  19. 小红书榜单,五大行业图文笔记类
  20. C#软件加序列号激活、试用期限

热门文章

  1. LabWindows™/CVI中的多线程技术【转】
  2. comsol射孔完井案例
  3. 联想电脑如何改w ndows更新,联想电脑装32位win7系统设置更改默认浏览器的图文办法...
  4. 明月三千里 mysql_Mysql 明月三千里 (一)
  5. RK3399平台开发系列讲解(时间篇)RTC设备构建过程
  6. java常用的三种设计模式
  7. 雪球网沪深全站股票评论爬虫
  8. 蚂蚁爬行问题及其改编
  9. APQP有哪几个步骤,PPAP又在其中哪个步骤?
  10. 【Faker】随机生成测试数据