ElasticSearch + kibana 部署略

创建索引

PUT /nba_20220101
{"mappings": {"properties": {"age": {"type": "integer"},"birthDay": {"type": "date"},"birthDayStr": {"type": "keyword"},"code": {"type": "text"},"country": {"type": "keyword"},"countryEn": {"type": "keyword"},"displayAffiliation": {"type": "text"},"displayName": {"type": "text","analyzer": "ik_max_word_pinyin", "fields" : {"suggest" : {"type" : "completion","analyzer" : "ik_smart_pinyin","preserve_separators" : true,"preserve_position_increments" : true,"max_input_length" : 50}}},"displayNameEn": {"type": "text"},"draft": {"type": "long"},"heightValue": {"type": "float"},"jerseyNo": {"type": "keyword"},"playYear": {"type": "long"},"playerId": {"type": "keyword"},"position": {"type": "text"},"schoolType": {"type": "text"},"teamCity": {"type": "text"},"teamCityEn": {"type": "text"},"teamConference": {"type": "keyword"},"teamConferenceEn": {"type": "keyword"},"teamName": {"type": "keyword"},"teamNameEn": {"type": "keyword"},"weight": {"type": "text"}}},"settings" : {"index" : {"analysis" : {"analyzer" : {"default" : {"type" : "ik_max_word"}}}},"analysis": {"analyzer": {"ik_smart_pinyin": {"type": "custom","tokenizer": "ik_smart","filter": ["my_pinyin"]},"ik_max_word_pinyin": {"type": "custom","tokenizer": "ik_max_word","filter": ["my_pinyin"]}},"filter": {"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}}}}
}

自定义 ik_smart_pinyin ik_max_word_pinyin 分词器

  • 分别基于 my_pinyin + ik_max_wordmy_pinyin + ik_smart 创建自定义分词器
  • my_pinyin 定义拼音分词过滤
  • displayName 字段使用 ik_max_word_pinyin 使用 拼音 汉字 双检索, 并 添加 suggest 检索补全

pinyin 插件可选参数说明

配置参数 说明 示例
keep_first_letter 保存第一个字母,默认值:true 例如: 刘德华 > ldh
keep_separate_first_letter 启用此选项后,将单独保留第一个字母, 默认值: false 例如:刘德华 > l, d, h,(注意:由于词频太高,​​查询结果可能太模糊)
limit_first_letter_length 设置 first_letter 结果的最大长度,默认值:16
keep_full_pinyin 当启用此选项时,默认值:true 例如:刘德华> [ liu, de, hua]
keep_joined_full_pinyin 当启用此选项时,默认值:false 例如:刘德华> [ liudehua]
keep_none_chinese 结果保留非中文字母或数字,默认值:true 例如:刘德华AT2016-> ldhat2016, 注意:keep_none_chinese应先启用keep_none_chinese_in_first_letter
keep_none_chinese_in_first_letter 首字母保留非中文字母,默认值:true 例如:刘德华AT2016-> ldhat2016
keep_none_chinese_together 保持非中文字母在一起,默认:true 例如:DJ音乐家-> DJ, yin, yue, jia , 当设置为 时false,例如:DJ音乐家-> D, J, yin, yue, jia,
keep_none_chinese_in_joined_full_pinyin 保留非中文字母加入全拼音,默认:false 例如:刘德华2016-> liudehua2016
none_chinese_pinyin_tokenize 如果非中文字母是拼音,则将其拆分为单独的拼音词 ,默认:true 例如:liudehuaalibaba13zhuanghan-> liu, de, hua, a, li, ba, , ba, 13, zhuang, han ( 注意: keep_none_chinese并且keep_none_chinese_together应首先启用 )
keep_original 启用此选项时,也将保留原始输入 ,默认值:false
lowercase 小写非汉字,默认:true
trim_whitespace 默认值:true
remove_duplicated_term 启用此选项时,将删除重复的术语以保存索引,默认值:false 例如:de的> de (注意:位置相关查询可能会受到影响 )
ignore_pinyin_offset 6.0以后严格限制offset,不允许重叠token,有了这个参数,overlapping token会忽略offset ,默认值:true 注意,所有position相关的query或者highlight都会出错,应该使用multi fields,不同的设置不同查询目的。如果需要偏移量,请将其设置为 false。

导入数据

POST /nba_20220101/_doc/566
{"countryEn": "Croatia","teamName": "快船","birthDay": 858661200000,"country": "克罗地亚","teamCityEn": "LA","code": "ivica_zubac","displayAffiliation": "Croatia","displayName": "伊维察 祖巴茨哥哥","schoolType": "","teamConference": "西部","teamConferenceEn": "Western","weight": "108.9 公斤","teamCity": "洛杉矶","playYear": 3,"jerseyNo": "40","teamNameEn": "Clippers","draft": 2016,"displayNameEn": "Ivica Zubac","heightValue": 2.16,"birthDayStr": "1997-03-18","position": "中锋","age": 22,"playerId": "1627826"
}

校验汉字分词是否有效

GET /nba_20220101/_search
{"query": {"match": {"displayName": "伊维察"}}
}

校验拼音分词是否有效

GET /nba_20220101/_search
{"query": {"match": {"displayName": "yi wei"}}
}

校验汉字补全是否生效

POST /nba_20220101/_search
{"suggest": {"my-suggestion": {"text": "伊维","completion": {"field": "displayName.suggest"}}}
}

校验拼音补全是否生效

POST /nba_20220101/_search
{"suggest": {"my-suggestion": {"text": "yi wei","completion": {"field": "displayName.suggest"}}}
}

ElasticSearch 拼音插件elasticsearch-analysis-pinyin + IK 分词器相关推荐

  1. 拾忆Elasticsearch01:Elasticsearch概述及相关ES、IK分词器等下载安装

    为了防止老年痴呆记不住学过的Elasticsearch,在这里写点blog回顾一下 写在前面,建议下载以下出现的Elasticsearch版本,我之前下的7.6.1在这里找不到对应的springboo ...

  2. elasticsearch学习(六):IK分词器

    1.IK分词器简介 IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包.从2006年12月推出1.0版开始IKAnalyzer已经推出 了3个大版本.最初,它是以开源项目L ...

  3. ElasticSearch最新版(8.4.3) IK分词器基于mysql实现热更新词库

    1 源码阅读思路 阅读Dictionary类下的initial方法,基于该方法进行改造 2 下载源码 https://github.com/medcl/elasticsearch-analysis-i ...

  4. Elasticsearch 6.4 ingest-attachment对文件IK分词器全文检索

    这里写自定义目录标题 1.简介 2.实现步骤 1.简介 ElasticSearch只能处理文本,不能直接处理文档.要实现 ElasticSearch 的附件导入需要以下两个步骤: 一.对多种主流格式的 ...

  5. ElasticSearch、kibana、head、ik分词器在Windows下的安装

    文章目录 ElasticSearch简介 ElasticSearch安装 Kibana的安装 head的安装 ik的安装 ElasticSearch简介 Elasticsearch是一个基于Lucen ...

  6. 【javaWeb微服务架构项目——乐优商城day07】——Elasticsearch介绍和安装及使用(安装kibana,安装ik分词器,Spring Data Elasticsearch,高级查询)

    文章目录 0.学习目标 1.Elasticsearch介绍和安装 1.1.简介 1.1.1.Elastic 1.1.2.Elasticsearch 1.1.3.版本 1.2.安装和配置 1.2.1.新 ...

  7. elasticsearch 的高级检索以及 Ik分词器的配置和使用

    首先准备测试数据 这是测试数据 点击去获取 使用上一篇我们安装的 kibana 将他们批量插入到es中 POST /bank/account/_bulk 数据插入成功之后可以在 psotman 调用 ...

  8. ElasticSearch学习----IK分词器

    IK分词器 一. IK分词器 ①. 在线安装IK 1. 必须将ElasticSearch服务中原始数据删除 2. 在ElasticSearch安装目录中执行如下命令 2. 重启ElasticSearc ...

  9. 分布式系列教程(34) -Linux下安装ik分词器

    1.引言 因为Elasticsearch中默认的标准分词器分词器对中文分词不是很友好,会将中文词语拆分成一个一个中文的汉字,因此引入中文分词器-es-ik插件. 例如使用传统的分词器,可以看到把中文分 ...

  10. elasticsearch基础6——head插件安装和web页面查询操作使用、ik分词器

    文章目录 一.基本了解 1.1 插件分类 1.2 插件管理命令 二.分析插件 2.1 es中的分析插件 2.1.1 官方核心分析插件 2.1.2 社区提供分析插件 2.2 API扩展插件 三.Head ...

最新文章

  1. jQuery监控页面所有ajax请求的方法
  2. php python 函数互相翻译的网站
  3. 用python画烟花-python实现浪漫的烟花秀
  4. 框架源码系列四:手写Spring-配置(为什么要提供配置的方法、选择什么样的配置方式、配置方式的工作过程是怎样的、分步骤一个一个的去分析和设计)...
  5. openresty开发系列3--nginx的平滑升级
  6. 【转】Asp.net的生命周期之应用程序生命周期
  7. 电商素材网站解救节日美工忙,赶紧收藏
  8. html 如何 创建目录,html - javascript:如何自动生成一篇文章的目录
  9. HDU1406 完数【水题】
  10. windows mysql 自动备份_windows mysql 自动备份的几种方法总结--岁月博客提供
  11. PBOC规范研究之四、文件结构及访问(转)
  12. android同一个activity中传递参数,Android中Activity之间跳转和参数传递的实例
  13. 使用wps插件,实现word转PDF
  14. oracle19c报价_Oracle 19c下载
  15. 数据预测模型_如何根据已有数据得出预测模型?线性回归公式来帮你!
  16. Git同时配置github和gitee
  17. asp.net大文件分块上传视频教程
  18. C#数字黑洞之一(水仙花数黑洞153)
  19. 安装hue一直失败,请大佬帮帮忙,万分感谢!!!!!!!!
  20. 5G商用价值到底在哪里,可以赋予哪些能力?

热门文章

  1. video.js 播放 流媒体
  2. LaTeX 插入PDF图片,该用哪个命令?
  3. aws ec2 重置密码和密钥对
  4. Stable Matching
  5. VBA中MsgBox的几个用法
  6. 使用 FFmpeg 推流,使用 VLC 软件进行拉流
  7. jq 手风琴折叠菜单 js滚动效果 collapse.js slideUp()
  8. 雷达有源干扰——噪声卷积干扰
  9. python图片的高级处理_python数字图像处理(18):高级形态学处理
  10. 微信小程序类快递自动填写收发货地址功能