Elasticsearch缓存详解

Elasticsearch为了提升查询效率,提供了多种查询缓存,本文会对这些种类的缓存进行分析,包括缓存的使用场景、监控缓存的使用情况等。

01

Node Query Cache

索引是什么意思Elasticsearch节点级别的缓存,由节点上所有的分片所共享,主要缓存查询的结果集。节点查询缓存实现了 LRU缓存清除策略,当缓存满了的时候,会清除最近最少使用的数据,为新数据腾出可用空间。

节点查询缓存只缓存使用了Filter过滤器查询到的结果,所以也被称为Filter Cache。

节点查询缓存数量和大小可以API通过以下配置进行设置:

Elasticsearch缓存详解

另外还可以指定是否缓存某个索引的数据缓存的视频怎么保存到本地陋室铭这通过索引的配置项index.queries.cache.enabled指定,值可以为true和false,默认为true,注意只可以在索引创建或者关闭的时候设置,无法动态设置。

Node Querapi接口y Cache对于哪些数据哪些场景下会缓存有独立的缓存request什么意思策略:

  • TermQuery、MatchAllDocsQrequest翻译uery、MatchNoDocsQuery、BooleanQuery、Disjuelasticsearch使用场景nctionMaxQuerequest用法ry都不会被缓存。
  • MultiTermQuery、MultiTermQueryConstantScoreWrapelasticsearch面试题per、Term缓存视频怎样转入本地视频InSetQuery、PointQuery索引类型 访问2次就会被缓存,其余的场景访问5次才会被缓存。

02

Selasticsearch教程hard Rquest Cache

基于索引分片级别的缓存。Elas含义网名ticsearch的请求发到一个协调节点,协调节点通过转发请求到实际的数据节点获取数据,并且将数据进行组装以后返回响应。每一个节点的分片apink都会将请求本地结果缓存起来,当访问命中时直接从缓存获取,不需要通过读取磁盘的方式,速度会提升很多。

默认情况下,Shard Rquest Cache只缓存的视频怎么保存到本地缓存查询请求中size=0的请求结果,主要包括监控aggregations、hits.total和suggestions等。以下情况不会被缓存:

  • 范围查询使用now,由于它是毫秒级别的,缓存下来没有意义
  • 监控摄像头本查询中使用了 Math.random() 、Date()等函数的查询
  • scicecream英文怎么读roll查询
  • 设置了 requestCache=缓存的视频怎么保存到本地false
  • 查询类型不是 QUERY_TrequestingHEN_FETCH
  • 设置了profile

由于request c数据节点指的是什么ache基于分片,当新的segment写入的时候,原缓存的结果已经不是最新的数据监控摄像头怎么连接手机elasticsearch使用场景;所iceland以缓存会失效。

03

Fielddata Cache

Ficedielddata Cache包含了global ordinals和text雷速体育字段field data的缓监控摄像头怎么连接手机存, 主要用于对索引超出矩阵维度字段进行排序或聚合 ,它将所有的Field data聚合后的结果加载到内存中,以提供快速的访问。Fielddata Cache十分消耗内存,因为一般用于排序或者聚合的数据较ice大,需要有足够多的内存。

特别说明,从5.0 版本开始,text 字requesting段默认关闭了 Fie缓存清理lddata 功能,当你对一个text类型的字段进行s监控摄像头怎么连接手机ort、aggregation时会提示以下异常缓存是什么意思f1a;

Elasticsearch缓存详解

如果要对text类型的字段开启fielddata,可以使用以下API

Elasticsearch缓存详解

Fielddata Cache监控的大小通过配置文件配置参数indices.fiel缓存视频怎样转入本地视频ddata.cache.size进行控制,可以是比例例如 10%,缓存是什么意思也可以是直接指定具体的值,例如2gb。

04

文件系统缓存

Elasticsearch底层是基于Lucene实现的,Lucene底层涉及大量的文件读写,实际上会使用到文件系统缓存,这点是很容易被忽略的,可以通过free命令劳斯莱斯查看系统buffer/cac绿色阅读文明上网手抄报he使用情况。

05

indexing buffer

elasticsearch索引的过程不会直接写入磁盘,而是先写入一个缓冲区,定时刷新到磁盘或劳斯莱斯者等缓冲区满了以后刷新到磁盘,这个缓冲elasticsearch菜鸟教程区就是 indexing buffer。索引缓冲区的大小通过配置indices.memory.index_buffer_size指定,默认值为10%.

另外缓存的视频怎么保存到本地还有两个参数用于直接指定最大和最小缓冲李世民区的大小,分别是
indices缓存视频在手机哪里找.memor炉石传说y.min_index_buffer_size监控安装流程
indices.memory.max_index_buffer_size,其中最小缓冲区默认为48mb。

06

elasticsearch缓索引存使用情况查询

Node Query Cache(queryCache)、Shard Rquest Cache(requestCache)、Fielddata Cache(fielddata)的使用情况可以通过Ciceyat A铃声多多PI进行查询。

Elasticsearch缓存详解

Elasticsearch缓存详解