01 2024 档案

摘要:背景 线上发现elasticsearch集群状态red,并且有个es节点jvm内存使用不断升高,直到gc后依然内存不够使用,服务停止。查看日志,elasticsearch出现OOM报错。 [2023-12-06T08:21:26,706][ERROR][o.e.b.ElasticsearchUnca 阅读全文 »
posted @ 2024-01-06 17:37 赛博朋克V 阅读(356) 评论(0) 推荐(0) 编辑
摘要:通过定义keyword 的 "null_value" :"NULL",使得搜索是不用单独使用exists查询。统一用terms查询就能查询到想要的结果 利用constantScore和filter查询,跳过算分的步骤,提高性能 设置"index" :false 对于不用作为查询条件的字段,增加写的性 阅读全文 »
posted @ 2024-01-06 16:35 赛博朋克V 阅读(62) 评论(0) 推荐(0) 编辑
摘要:elasticsearch运维常用API 查看集群状态 查询集群状态命令: curl -XGET "http://ip:port/_cluster/health?pretty" # ?pretty json打印结果 查询集群JVM状态 curl -XGET "http://ip:port/_node 阅读全文 »
posted @ 2024-01-05 17:48 赛博朋克V 阅读(70) 评论(0) 推荐(0) 编辑
摘要:背景 客户磁盘损坏,修复磁盘后,重启机器,发现elasticsearch启动成功,ES状态正常green,但是历史数据都没有加载进,查看ES存储数据目录,发现数据还在。 解决方案 首先,需要确认indices目录下的lucene 索引正常。需要关闭ES(实际操作索引处于close状态也可以)。 # 阅读全文 »
posted @ 2024-01-05 17:48 赛博朋克V 阅读(453) 评论(0) 推荐(0) 编辑
摘要:前面说到,分页可以使用from和size参数,类似于mysql的分页offset和limit。但是如果数据量比较大时,elasticsearch会对分页做出限制,因为此时会比较消耗性能。 为什么要限制 分页的时候,elasticsearch会根据查询条件到每个分片取出数据来,然后再由coordina 阅读全文 »
posted @ 2024-01-05 10:41 赛博朋克V 阅读(92) 评论(0) 推荐(0) 编辑
摘要:背景 从开发的角度说,就是老板叫我用es了,没那么多为什么,爸爸说了算 😂 从业务角度,mysql已经不能满足我对全文检索的需求了。我需要检索某一个字段包含"圣诞节刚刚过去"这一字符串的记录。这对mysql是个很头疼的问题,但在es中,是个很简单的事。 此外es结合kibana还能实现很多数据可视 阅读全文 »
posted @ 2024-01-05 10:41 赛博朋克V 阅读(93) 评论(0) 推荐(0) 编辑
摘要:什么时候需要重建索引 索引的mappings发生变更 索引的setting发生变更 集群内,集群间,需要做数据迁移 update by query 在现有索引重建 比如需要给一个text新增一个子字段,用english分词器。那么新添加的数据会被索引,之前的数据不会被索引。此时可以用_update_ 阅读全文 »
posted @ 2024-01-05 10:39 赛博朋克V 阅读(63) 评论(0) 推荐(0) 编辑
摘要:什么是search template 顾名思义,查询模版,就是提前设定好查询的DSL,再次查询时,只需要指定对应的模版,然后传入相应的参数就好。一是可以每次不用构建复杂的DSL,二是可以供开发直接使用查询DSL模版,减少学习和对接成本。 有如下两种方法 一、创建脚本_script/template, 阅读全文 »
posted @ 2024-01-05 10:39 赛博朋克V 阅读(40) 评论(0) 推荐(0) 编辑
摘要:elasticsearch聚合查询 什么是聚合,就是目的不是查询具体的文档,而是查询文档的相关性,此外还可以对聚合的文档在按照其他维度再聚合。 包含以下四种聚合 Bucket Aggregation 一些列满足特定条件的文档的集合 terms 对某个字段统计每个不同的内容,以及出现文档的个数 ran 阅读全文 »
posted @ 2024-01-05 10:38 赛博朋克V 阅读(34) 评论(0) 推荐(0) 编辑
摘要:目录一、URI查询指定字段、泛查询分组和phraseBool条件must条件范围查询通配符查询正则表达式模糊匹配与近似查询二、RequestBody&DSLignore_unavailableprofileexplainqueryfrom、sizesort_sourcescript_fieldsma 阅读全文 »
posted @ 2024-01-05 10:38 赛博朋克V 阅读(53) 评论(0) 推荐(0) 编辑
摘要:文档的CRUD index 和 create 操作用put(但是如果没有指定id必须用post,指定了id的可以用post,也可以用put) update和创建索引用post 获取用get 删除用delete index PUT index/type/id {"user":"mike","comme 阅读全文 »
posted @ 2024-01-05 10:37 赛博朋克V 阅读(22) 评论(0) 推荐(0) 编辑
摘要:在docker中运行elasticsearch、kibana 一、MacOs 首先需要安装doceker,提供两种方式,选一种方便的就好 1.命令行安装方式 安装命令行 xcode-select --install 安装homebrew /usr/bin/ruby -e "$(curl -fsSL 阅读全文 »
posted @ 2024-01-05 10:33 赛博朋克V 阅读(57) 评论(0) 推荐(0) 编辑
摘要:mapping 顾名思义,代表了映射关系。是文档中字段和数据类型的映射关系 为什么要了解mapping 虽然elasticsearch中已尽有的动态mapping(Dynamic Mapping),而且新增字段默认也会添加新的mapping,但是毕竟是机器,有时会推算的不对,比如地理位置信息,特殊格 阅读全文 »
posted @ 2024-01-05 09:24 赛博朋克V 阅读(105) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示