![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Elasticsearch
文章平均质量分 96
NCS123456
这个作者很懒,什么都没留下…
展开
-
Elasticsearch-高CPU优化
Elasticsearch使用线程池管理CPU资源,用于并发操作。如果某个节点的CPU使用率很高,可以使用该节点的热线程API(hot_threads)来检查节点上运行的资源密集型线程。如图所示,查询请求量的波动与集群最大CPU使用率是基本吻合的。确保对于节点上已配置的每个 GB的内存,将分片数量保持在 20 以下,如果某个节点拥有 30GB 的堆内存,那其最多可有 600 个分片。查看查询/写请求量,分析是否cpu高和查询量升高或者写入量升高导致的。是操作系统层面的cpu消耗,不是我们重点优化对象。原创 2024-06-21 11:29:54 · 1293 阅读 · 0 评论 -
Elasticsearch-相关性
相关性描述的是⼀个⽂档和查询语句匹配的程度。ES 会对每个匹配查询条件的结果进⾏算分_score。_score 的评分越高,相关度越高。ES 5.0之前使用TF-IDF 相关性算法, 5.0之后使用了BM25算法公式整体而言 BM25 就是对 TF-IDF 算法的改进,对于 TF-IDF 算法,TF(t) 部分的值越大,整个公式返回的值就会越大。BM25 就针对这点进行来优化,随着TF(t) 的逐步加大,该算法的返回值会趋于一个数值。如下图所示:公式该公式前半部分是IDF, 后半部分是TF + NORM原创 2024-03-27 18:13:40 · 1139 阅读 · 0 评论 -
Elasticsearch-内存结构
1)只有Filter下的子Query才能参与Cache。2)不能参与Cache的Query有TermQuery/MatchAllDocsQuery/MatchNoDocsQuery/BooleanQuery/DisjunnctionMaxQuery。3)MultiTermQuery/MultiTermQueryConstantScoreWrapper/TermInSetQuery/Point*Query的Query查询超过2次会被Cache,其它Query要5次。原创 2024-02-02 10:05:10 · 1460 阅读 · 0 评论 -
Elasticsearch mapping 之 性能相关配置
二进制: binary布尔型:boolean字符串:keyword别名: alias对象: object, flattened, nested, join结构化数据类型: Range, ip, version, murmur3空间数据类型: geo_point, geo_shape, point, shape。原创 2023-12-07 13:17:24 · 385 阅读 · 0 评论 -
Elasticsearch-增删改查数据工作原理
当达到默认的时间:1 秒钟(参数refresh_interval=1s)或者内存的数据达到一定量(默认值是 JVM 所占内存容量的 10%)时,会触发一次刷新(Refresh),将内存中的数据生成到一个新的段上并缓存到文件系统缓存(FileSystem Cache)上,并将Index Buffer 的数据会被清空。通过这种方式当断电或需要重启时,ES 不仅要根据提交点去加载已经持久化过的段,还需要工具 Translog 里的记录,把未持久化的数据重新持久化到磁盘上,避免了数据丢失的可能。原创 2023-07-27 10:07:25 · 927 阅读 · 0 评论 -
Elasticsearch-倒排索引
这棵树不会包含所有的 term,它包含的是 term 的一些前缀(这也是字典树的使用场景,公共前缀)。或字典,是词条 Term 的集合。搜索引擎的通常索引单位是单词,单词词典是由文档集合中出现过的所有单词构成的字符串集合,单词词典内每条索引项记载单词本身的一些信息以及指向“倒排列表”的指针。所有单词的倒排列表往往顺序地存储在磁盘的某个文件里,这个文件被称之为倒排文件,倒排文件是存储倒排索引的物理文件。:Lucene索引库包含了搜索文本的所有内容,可以通过文件或文件流的方式存储在不同的数据库或文件目录下。原创 2023-07-27 10:08:53 · 829 阅读 · 0 评论