随笔分类 - ElasticSearch
ElasticSearch相关
摘要:背景 主要介绍Elasticsearch中索引的别名,以及常见的API 环境准备 创建索引 index_demo 索引信息如下 -- 查询索引 GET index_demo --查询结果 { "index_demo" : { "aliases" : { }, "mappings" : { "_doc
阅读全文
摘要:背景 主要介绍和整理ElasticSearch 常用的API 环境 SpringBoot2.1+Maven Maven依赖 <dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId>
阅读全文
摘要:背景 主要是针对在使用索引生命周期的去管理索引的过程中,记录所踩到坑,避免同样的问题再次发生 问题 1. 索引生命周期中设置各个阶段的市场以及索引rollover的时间不合理,导致整个索引数据被删除 例如需求如下: 业务需求: 数据至少保存半年,删除半年前的数据 生命周期设计: hot阶段 >del
阅读全文
摘要:背景 这里记录ElasticSearch通过@Document注解自动创建索引失败的情况 测试 这里使用索引 index_demo 通过案例测试@Docuemnt注解在创建索引的过程中踩过的坑 @Data @Document(indexName = "index_demo", type = "ind
阅读全文
摘要:ElasticSearch查询过滤掉指定的字段 普通查询 普通查询的查询结果包含索引中所有的字段 Kibana DSL GET index_user_latest/_search { "query": { "match_all": {} } } 结果如下 "_source" : { "dbId" :
阅读全文
摘要:背景 主要介绍在使用spring-data-elasticsearch依赖作为ElasticSearch客户端时需要的问题以及对应的问题的总结 项目依赖 SpringBoot2.x ElasticSearch相关依赖 <dependency> <groupId>org.elasticsearch</
阅读全文
摘要:目前更新文档的方式主要有两种 1.update api2._update_by_query api 这里主要针对这两种做总结和说明 update api 这个例子演示了如何去更新我们先前的文档(ID 为 1),通过修改 name 字段的值为 “Jane Doe” : curl -XPOST 'loc
阅读全文
摘要:需求背景 工作中往往会出现对ES中某一现有的索引增加字段后,且业务中该字段具有默认值,如果不执行数据迁移,则原有的文档不具备更新该字段,后续增加的文档才会插入该字段,因此这里主要记录在这种情况下的ES查询方式 环境准备 索引名称:index_account_sub_trans_detail_v1 索
阅读全文
摘要:一.需求背景 最近有工作中遇到了关于搜索匹配度的一个搜索需求,即根据某个搜索关键词搜索出来的结果,优先级按精确匹配->最左短语匹配->短语匹配 将搜索结果展示到客户端 二.需求分析 这个需求本质上是需要根据搜索结果与搜索内容的相关度得分(relevance socre)去搜索出匹配度高的结果优先展示
阅读全文
摘要:背景 当ElasticSearch搜索的文档中含有中文时,默认的分词器会把中文一个汉字当做一个关键字拆分,这样是不符合需求的,因此常用的中文分词器为IK分词器由于IK分词器有 ik_smart 和 ik_max_word两种模式,这里主要介绍这两种模式的差别 IK分词器 区别 ik_smart:分词
阅读全文
摘要://TODO https://www.modb.pro/db/152973 https://blog.csdn.net/weixin_39216383/article/details/113958827 https://cloud.tencent.com/developer/article/1598
阅读全文
摘要:背景 接文章 【ElasticSearch】索引生命周期管理(一) 这里主要记录使用ILM后,如何使用Java语言对索引数据进行增删改查以及使用Nest嵌套查询如何进行数据查询 依赖 <dependency> <groupId>org.elasticsearch</groupId> <artifac
阅读全文
摘要:背景 产品为保证合规,大量的的数据和IM聊天消息需要进行审核,数据结构比较复杂,有较多的数据嵌套,设计上选择使用ElasticSearch作为数据库,随着时间的增长,单个索引的历史数据变得越来越大,占用内存和磁盘的空间也越来越多,单个索引查询效率也较低这里主要有两个需求点 1.需要对ElasticS
阅读全文
摘要:背景 由于需要存储风控审核相关的数据,审核数据原数据是保存在MySQL,数据量太大,按月分表,分表后导致后台无法跨月查询,因此将数据同步到ElasticSearch中 为了合理的划分索引的大小,需要将对应的ElasticSearch索引也按月创建索引,将对应的MySQL月份表数据同步到ES月份索引中
阅读全文
摘要:背景 主要记录ElasticSearch分页方式,以及深度分页的问题,出现的原因和深度分页的替代解决方案 问题 ElasticSearch普通分页查询时通过from+size这两个参数实现,类似于MySQL的limit 分页 from:表示当前页码 size:表示每页展示条数 例如: #普通分页查询
阅读全文
摘要:前言 主要记录使用Kibana导出查询结果的csv文件,以及相关的导出配置 正文 1.Kibana导出步骤 点击Save 保存当前查询 点击Share,生成csv文件 下载csv文件 2.Kibana相关的导出配置 由于Kibana对导出csv文件的大小有限制,约为10MB,这里可以通过修改配置调整
阅读全文
摘要:数据准备 使用edge ngram将每个单词都进行进一步的分词切分,用切分后的ngram来实现前缀搜索推荐功能 //创建索引 PUT my_index { "mappings": { "my_type": { "properties": { "title": { "type": "keyword"
阅读全文