关于 elasticsearch 一些不错的文章
文章目录
【注意】最后更新于 December 12, 2022,文中内容可能已过时,请谨慎使用。
开发中常用到的知识点文章收集, 注意有一些字段可以直接跳转到文章上哦
格式有点乱, 随手记一下, 哪天用到了再翻
1. es update_by_query 基础
有些更新命令 _update 照顾不到的, 就用这个, 而且通常是配合着 painless
脚本一起使用的
Elasticsearch Painless Script详解
2. es nested类型详解
给自己业务采用 nested
类型数据之前一定要考虑后续的业务场景是什么, 因为有关nested
数据类型的查询,聚合, 更新都存在一些改动
比如, 聚合时八成需要用到 reverse_nested
reverse_nested, 更新的时候, 要么全量覆盖更新对应的 nested
字段, 要么就只能通过 painless
脚本去进行部分更新
3. ES集群CPU占用高问题总结
有时候也需要排查下什么原因导致的 cpu 占用过高, 以下俩 query 用处就很大了:
/_nodes/hot_threads
查询当前占用资源线程
/_tasks?pretty
查询es 当前执行中的任务
POST http://0.0.0.0:9200/_tasks/LT5iTUgNQEWnQxY08JiVgw:1147634419/_cancel
取消指定的task
通过kibana
查看集群的监控
{kibanahost}/app/monitoring#/elasticsearch/nodes
Kibana和Marval中的Search Rate表示什么
4. 一次业务问题对 ES 的 cardinality 原理探究
之前开发过程中确实碰到了类似的问题, 要统计的一个字段是 keyword 类型, 每个 doc 中只有一个值, 但是使用 cardinality
后doc_count
还没有 value
的多, 哪怕把 precision_threshold
设置成40000两者也还差一个数…. 所以想用 es 的去重功能还是要评估当前业务场景能不能接受这种误差
文章作者 GPF
上次更新 2022-12-12 (f77d6fe)