`
weitao1026
  • 浏览: 1058144 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

elasticsearch 缓存 配置

 
阅读更多

缓存
索引有不同的内置缓存模块。 它们包括 过滤器(filter), 字段(field) 和其它。
过滤器缓存
过滤器缓存负责缓存过滤后的结果(在查询中使用)。 默认实现过滤器缓存(和一个推荐使用在几乎所有的情况下) 的是 节点过滤器缓存 类型。
节点过滤器缓存
这个 节点过滤器缓存 可以被配置为使用总内存的一定比例分配给进程或一个指定数量的内存。 所有的索引分片只能出现在一个节点共享一个单一的节点缓存(这就是为什么它叫 节点 ”)。 这个缓存工具实现了一个叫做 LRU 数据删除策略:当缓存区满了以后,最近最少使用的数据被删除,以腾出空间给新的数据存放。
这个设置允许控制过滤器缓存占多少内存大小, indices.cache.filter.size ,该属性的默认值 20% 。 注意 ,这是不一个索引级别的设置,而是节点级别设置(可以在节点上进行配置)。indices.cache.filter.size  可以接受一个百分比值,如:30% ,或一个精确值,如:512
mb 。

索引过滤器缓存
该过滤器缓存是在索引等级上面的(每一个节点上)。 一般来说,不建议使用该缓存,因为缓存内存使用量取决于每个节点上面的分片,这个很难难预测。 这个类型分为: 常驻,  软件 和 弱 (resident, soft and weak.)。
所有类型支持以下设置:
Setting
Description
index.cache.filter.max_size
这个是设置缓存(每次查询在一个分片里的缓存)的最大值(计数,而不是字节大小)。默认是不设置(-1),一般用于 soft 缓存或者是适合缓存的过滤器。
index.cache.filter.expire
设置缓存的数据处于非活动状态多长时间后过期。
默认值为(-1)。例如,可以设置为 5m,表示缓存的数据5分钟后过期。
字段数据缓存
字段数据缓存的主要用在当以某一个字段排序或faceting上。 它将所有字段的数值加载到内存中为了提供快速的访问这些值。 字段数据缓存可能很昂贵为一个字段,所以建议要有足够的内存来分配它,并使它加载。
默认该缓存的类型使用 resident(常驻) (因为重建的代码太大)。 其他类型可以使用 soft。
Setting
Description
index.cache.field.max_size
这个是设置缓存(每次查询在一个分片里的缓存)的最大值(计数,而不是字节大小)。默认是不设置(-1)
index.cache.field.expire
设置缓存的数据处于非活动状态多长时间到期。
默认值为(-1)。例如,可以设置为 5m,表示缓存的数据5分钟后过期。

——————————————————————————————————————————–
英文原文:
Cache

There are different caching inner modules associated with an index. They include filter,field and others.
Filter Cache
The filter cache is responsible for caching the results of filters (used in the query). The default implementation of a filter cache (and the one recommended
to use in almost all cases) is the node filter cache type.

Node Filter Cache
The node filter cache may be configured to use either a percentage of the total memory allocated to the process or an specific amount of memory. All shards
present on a node share a single node cache (thats why its called node`). The cache implements an LRUeviction policy: when a cache becomes full, the least recently used data is evicted to make way for new data.

The setting that allows one to control the memory size for the filter cache isindices.cache.filter.size, which defaults to 20%. Note, this is not an index
level setting but a node level setting (can be configured in the node configuration).

indices.cache.filter.size can accept either a percentage value, like 30%, or an exact value, like 512mb.
Index Filter Cache
A filter cache that exists on the index level (on each node). Generally, not recommended for use since its memory usage depends on which shards are allocated
on each node and its hard to predict it. The types are: resident, soft and weak.

All types support the following settings:



Setting
Description
index.cache.filter.max_size

The max size (count, not byte size) of the cache (per search segment in a shard). Defaults to not set (-1), which is usually fine with soft cache and
proper cacheable filters.



index.cache.filter.expire
A time based setting that expires filters after a certain time of inactivity. Defaults to -1. For example, can be set to 5m for a 5 minute expiry.

Field Data Cache
The field data cache is used mainly when sorting on or faceting on a field. It loads all the field values to memory in order to provide fast document based
access to those values. The field data cache can be expensive to build for a field, so its recommended to have enough memory to allocate it, and keep it loaded.

The default type for the field data cache is resident (because of the cost of rebuilding it). Other types include soft.

Setting
Description

index.cache.field.max_size
The max size (count, not byte size) of the cache (per search segment in a shard). Defaults to not set (-1).

index.cache.field.expire
A time based setting that expires filters after a certain time of inactivity. Defaults to -1. For example, can be set to 5m for a 5 minute expiry

分享到:
评论

相关推荐

    elasticsearch常用版本

    - **配置文件**:修改`elasticsearch.yml`配置文件,可以设置端口、网络访问、内存分配等参数。 - **内存设置**:确保JVM有足够的内存,通常设置`ES_HEAP_SIZE`环境变量以避免性能问题。 - **插件安装**:根据需求...

    《ElasticSearch入门到实战》电子书,从入门到进阶实战项目的教程文档,框架SpringBoot框架整合ES.zip

    7. **性能优化**:探讨如何通过调整索引设置、优化查询语句、使用缓存等方式提升 Elasticsearch 的性能。 8. **脚本与函数**:学习使用 Elasticsearch 的脚本功能,实现动态计算和复杂的逻辑判断。 9. **实时监控*...

    ElasticSearch官方测试数据

    Elasticsearch(ES)是一种流行的开源全文搜索引擎,它基于Lucene库构建,被广泛用于大数据分析、日志聚合、实时搜索和索引等场景。官方提供的测试数据集是检验Elasticsearch功能、性能和稳定性的关键资源,可以帮助...

    elasticsearch数据库下载、配置、使用案例PPT模板

    ### Elasticsearch数据库的下载、配置与使用案例 #### 一、Elasticsearch数据库的下载与安装 **1.1 下载与解压** - **下载Elasticsearch:** - **官方网站下载:** 访问Elasticsearch官方网站...

    elasticsearch-analysis-ik 7.17.16 分词器

    在Elasticsearch中使用IK分析器,需要在索引模板或索引设置中进行配置。例如: ```json PUT /my_index { "settings": { "analysis": { "analyzer": { "my_analyzer": { "type": "ik_max_word", "dict": ...

    最新版windows elasticsearch-8.3.3-windows-x86_64.zip

    注意,初次启动前可能需要修改`elasticsearch.yml`配置文件,比如设置数据存储路径、网络端口等。 3. 启动成功后,Elasticsearch会默认监听9200端口,你可以通过浏览器访问`http://localhost:9200/`来验证其是否正常...

    Elasticsearch参考手册中文版高清

    集群是Elasticsearch的核心,通过设置`cluster.name`将节点加入同一集群。节点可以通过调整内存、磁盘和线程池大小等配置优化性能。复制 shards 可提高数据冗余和容错性,但也会增加资源需求。 六、搜索性能优化 ...

    Elasticsearch7.0实例精解 源代码.zip

    9. **搜索性能优化**:通过设置倒排索引、合理分配分片、优化查询语句、使用缓存等手段,可以提升Elasticsearch的搜索性能。 10. **安全性**:Elasticsearch 7.0引入了内置的安全特性,如使用X-Pack插件实现用户...

    elasticsearch-6.7.0 linux 版本

    Elasticsearch的性能优化涉及多方面,包括硬件配置、内存分配、索引设置、搜索分析器调整等。合理的硬件配置(如SSD存储、足够的内存)是基础,优化索引设置(如字段类型、分析器)和搜索策略(如过滤器缓存、查询...

    Elasticsearch权威指南(中文).pdf

    2. **Transport客户端**:直接通过Elasticsearch的内部传输协议进行通信,性能较好,但配置相对复杂。 3. **High-Level REST客户端**:官方推荐的现代客户端,提供更高级别的抽象,简化常用操作。 **五、搜索优化与...

    ElasticSearch基于Mysql热更新IK词典项目

    1. 安装IK分词器:下载并安装`elasticsearch-analysis-ik-8.1.0`,配置ES的`plugins`目录。 2. 配置分词器:在ES的`analysis`配置中指定使用IK分词器,并设置词典更新的相关参数。 3. 创建MySQL连接:在ES中配置...

    elasticsearch 性能测试

    2. **调优**:根据测试结果优化硬件配置、索引设置、分片分配、缓存管理等。 3. **迭代测试**:每次优化后重新进行测试,确保改进有效。 在《Elasticsearch 性能测试》这篇博文中,作者可能深入探讨了使用特定工具...

    elasticsearch运维实践

    "elasticsearch运维实践" Elasticsearch是一个功能强大且灵活的搜索引擎,可以满足复杂的搜索需求。以下是Elasticsearch运维实践中的重要知识点: 1. Elasticsearch的架构 Elasticsearch的架构主要由三个部分组成...

    elasticsearch.zip

    1. **安装与配置**:首先,你需要将解压后的“elasticsearch”文件夹放入到你的TP项目中,然后配置相应的服务。这可能包括在配置文件中指定Elasticsearch的服务器地址、端口、索引名等信息。 2. **客户端库**:描述...

    elasticsearch安装包.zip

    3. 配置Elasticsearch的配置文件`elasticsearch.yml`,如设置节点角色、内存分配、网络监听等。 4. 启动Elasticsearch服务,检查日志确认无误。 5. 测试安装,如通过curl或Postman发送请求验证是否能正常工作。 在...

    Elasticsearch相关安装包

    此外,了解如何调整Elasticsearch的索引设置、缓存策略、刷新间隔等,可以显著提升性能。 总之,这个资源包提供了一站式的Elasticsearch环境搭建方案,涵盖了从基础安装到实际操作的关键环节,对于初学者或者希望...

    【中华石杉】Elasticsearch顶尖高手系列-核心知识篇 + 高手进阶篇all

    1. **集群管理**:深入了解如何配置和优化Elasticsearch集群,包括节点间的通信、资源分配、负载均衡和故障转移策略。 2. **性能调优**:包括索引速度优化、查询性能提升、内存管理和磁盘I/O的优化,以及如何利用...

    基于Elasticsearch Java API的参考手册

    **Elasticsearch Java API详解** Elasticsearch是一个分布式、RESTful风格的搜索和数据分析引擎,广泛应用于大数据领域的实时分析和信息检索。Java API是Elasticsearch官方提供的与Elasticsearch服务器进行交互的...

Global site tag (gtag.js) - Google Analytics