随笔分类 - ES
摘要:索引的创建需要配置mapping与setting两部分。 索引的mapping 常用数据类型 text、keyword、number、array、range、boolean、date、geo_point、ip、nested、object。 text:默认会进行分词,支持模糊查询(5.x之后版本str
阅读全文
摘要:前言 一个系统查询慢往往是由多种因素造成的,在处理集群查询慢的问题上,先将问题分解。 1) 需要观察是系统哪种资源受限,例如内存、CPU或磁盘IO等,是否存在硬件瓶颈; 2) 要确定查询语句是否符合业务场景,是否存在查询语句优化空间; 3) 最后判断数据结构是否合理,不合理的数据设计对查询的响应影响
阅读全文
摘要:前言 经常会有人吐槽,Elasticsearch为什么写着写着突然就慢了? 笔者总结了常见的一些导致写入慢的场景,以供大家排查。 Elasticsearch写入慢问题排查思路 Elasticsearch的写入场景相对比较简单,绝大部分场景下我们都是使用bulk API进行写入操作,列举了下面一些场景
阅读全文
摘要:在今天的文章里,我们来主要介绍一下 Elasticsearch 的 refresh 及 flush 两种操作的区别。如果我们从字面的意思上讲,好像都是刷新的意思。但是在 Elasticsearch 中,这两种操作是有非常大的区别的。本指南将有效解决两者之间的差异。 我们还将介绍 Lucene 功能的
阅读全文
摘要:前言 经常会有人吐槽,Elasticsearch为什么查着查着突然就慢了? 笔者总结了常见的一些导致查询慢的场景,供大家排查。 Elasticsearch查询慢问题排查思路 Elasticsearch的查询慢的问题往往是由多种因素造成的,同时我们也需要遵循Elasticsearch的查询准则:ES适
阅读全文
摘要:一、方案汇总 根据《Elasticsearch权威指南》以及官网中的介绍,ES针对关联关系的处理主要有如下方式: 1.应用层关联 2.非规划化数据 3.嵌套对象 4.父子关系文档 5.Terms lookup跨索引查询 二、具体方案解析 1.应用层关联 实际上通过多次查询实现数据的关联查询。在第一个
阅读全文
摘要:背景 设置RestHighLevelClient的超时间,防止请求时间过长,导致接口访问时间过长 es官方设置 Timeouts Configuring requests timeouts can be done by providing an instance of RequestConfigCa
阅读全文
摘要:启动elasticsearch 下载Elasticsearch7.17.5的docker镜像: docker pull elasticsearch:7.17.5 修改虚拟内存区域大小,否则会因为过小而无法启动: sysctl -w vm.max_map_count=262144 使用如下命令启动El
阅读全文
摘要:一、elasticsearch在做聚合查询的时候报错 "root_cause" : [ { "type" : "illegal_argument_exception", "reason" : "Text fields are not optimised for operations that req
阅读全文
摘要:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-elasticsearch</artifactId> </dependency> 方法一 在spring-dat
阅读全文
摘要:版本选择 要升级到Elasticsearch8.2,首先要选择合适的版本。 在pom.xml里修改SpringBoot依赖的版本为2.6.6 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-st
阅读全文
摘要:一、基础查询 1.查询关键字 term:精确匹配一个字段 match:模糊查询或者分词查询一个字段 wildcard:使用通配符进行查询 2.查询QueryBuilders BoolQueryBuilder queryBuilder= QueryBuilders.boolQuery(); ①matc
阅读全文
摘要://闭区间查询 QueryBuilder qb1 = QueryBuilders.rangeQuery("{fieldValue1}).to(${fieldValue2}); //开区间查询 QueryBuilder qb1 = QueryBuilders.
阅读全文
摘要:1、es基础查询 1.1 准备数据 # 准备数据 PUT test_index/_doc/1 { "name":"顾老二", "age":30, "from": "gu", "desc": "皮肤黑、武器长、性格直", "tags": ["黑", "长", "直"] } PUT test_index
阅读全文
摘要:一、需求描述 本文针对在工作中遇到的需求:通过es来实现模糊查询来进行总结;模糊查询的具体需求是:查询基金/A股/港股等金融数据,要求可以根据字段,拼音首字母,部分拼音全称进行联想查询;需要注意的是,金融数据名称中可能不止包含汉字,还有英文,数字,特殊字符等。 二、方案设计 常用的es模糊查询出于性
阅读全文
摘要:一、elasticsearch在做聚合查询的时候报错 "root_cause" : [ { "type" : "illegal_argument_exception", "reason" : "Text fields are not optimised for operations that req
阅读全文
摘要:最近在从mysql同步到Elasticsearch,同步完成之后,在测试的时候发现会报错 "reason”:"Result window is too large,from + size must be less than or equal to: [10000] but was [1000000]
阅读全文
摘要:Elasticsearch中有大量关键概念容易混淆,对于初学者来说是噩梦: _source字段里存储了什么? index属性的作用是什么? 何时应该开启_all字段? store属性和_source字段有什么关系? store属性和_all字段有什么关系? 什么情况下不用保留_source字段? 本
阅读全文