索引的参数,分为两类:

  • 静态参数,仅支持在创建索引时指定,或者关闭索引后指定。
  • 动态参数,允许在索引工作期间指定或者修改。

静态参数

index.number_of_shards

默认值为1

本参数用于控制主分片的数量,仅支持在创建时指定,对于已关闭的索引,修改本参数不会生效。

es.index.max_number_of_shards

默认情况下,每个索引可以使用的分片的数量最大为1024

启动Elasticsearch进程时,可以在命令行中修改参数值,命令样例,如下:

export ES_JAVA_OPTS="-Des.index.max_number_of_shards=128"
./bin/elasticsearch

index.number_of_routing_shards

拆分索引的路由分片数量,和索引主分片index.number_of_shards的取值相关。

默认值位于2~1024之间。

index.codec

可选值为:

  • default,默认选项,使用LZ4算法对保存到盘上的数据执行压缩操作。
  • best_compression,使用DEFLATE算法对保存到盘上的数据执行压缩操作。

变更index.codec的取值后,对后续的segment合并操作生效,可以使用Force merge API强制触发合并操作。

index.routing_partition_size

仅允许在创建索引时指定,索引创建成功后,不支持修改。

默认值为1,参数值需要小于index.number_of_shards

index.soft_deletes.enabled

默认值为true

指示软件删除是否启用,仅在创建索引时允许指定。

可选项,如下:

  • true,默认值,支持软删除。
  • false,关闭软删除。

index.soft_deletes.retention_lease.period

默认值为12h

软删除的数据记录保持在shard中的时长。

index.load_fixed_bitset_filters_eagerly

默认值为true

可选项,如下:

  • true,默认值,启用预加载。
  • false,关闭预加载。

index.shard.check_on_startup

仅限专家使用,在调测问题时,在shard启动过程中增加一些重型的检查操作。

建议完成问题处理后,及时关闭本选项。

可选项,如下:

  • false,默认值,不启用额外的检查。
  • checksum,计算shard关联的所有文件的校验和,校验一致性,评估数据是否存在物理上的损坏。
  • true,执行checksum选项关联的检查操作,同时校验数据的逻辑上可能存在的损坏。

动态参数

index.number_of_replicas

默认值为1

索引的副本数量。

index.auto_expand_replicas

默认值为false

依据集群中节点的数量,自动扩展索引的副本的数量。

可选项,如下:

  • false,默认行为,即不自动扩展副本的数量。
  • 区间,比如0-5,或者0-all

index.search.idle.after

默认值为30s

shard的状态为空闲时,才能接收并处理检索请求。

本参数指定了等待shard进入空闲状态的时长。

index.refresh_interval

默认值为1s

对索引的变更,只有执行刷新操作之后,才能被外部检索到。

本参数指定了后台执行的刷新操作的定时任务运行的时间间隔。

可选项,如下:

  • 1s,默认值。
  • -1s,禁用后台的刷新操作。

当本参数没有显式指定时,有如下行为:

  • 处于空闲状态的shard不会响应刷新操作。
  • 当处于空闲状态的shard收到查询请求时,主动触发一次刷新操作,然后再执行查询操作。

index.max_result_window

默认值为10000

使用from + size方式检索数据时,本参数用于控制返回结果的记录的数量。

检索操作占用的JVM堆内存和消耗的时间,和from + size的值正相关,使用本参数可有效控制前述资源的占用量。

假如需要获取更多的检索结果,需要考虑使用scroll或者search-after

index.max_inner_result_window

默认值为100

使用from + size方式检索数据时,本参数用于限制检索操作占用的JVM堆内存和消耗的时间。

index.max_rescore_window

检索请求参数中window_size字段取值的上限,默认值与index.max_result_window的取值相同。

本参数用于限制检索操作占用的JVM堆内存和消耗的时间。

index.max_docvalue_fields_search

默认值为100

在查询请求中,docvalue_field个数的上限。

index.max_script_fields

默认值为32

在查询请求中,script_field个数的上限。

index.max_ngram_diff

默认值为1

对于NGramTokenizerNGramTokenFiltermin_grammax_gram之间差值的最大值。

index.max_shingle_diff

默认值为3

max_shingle_sizemin_shingle_size之间差值的最大值。

index.max_refresh_listeners

在索引的每个shard上允许指定的listener数量的上限。

index.analyze.max_token_count

默认值为10000

使用_analyzeAPI时支持的Token的最大数量。

index.highlight.max_analyzed_offset

默认值为1000000

highlight request时允许被分析的字符的最大数量。

index.max_terms_count

默认值为65536

使用Terms Query时,允许使用的条件的最大数量。

index.max_regex_length

默认值为1000

使用Regexp Query时,允许使用的正则表达式的最大长度。

index.query.default_field

控制如下类型的查询操作允许生效的字段。

index.routing.allocation.enable

指示是否启用shard的分配能力。

可选值,如下:

  • all,默认值,全部shard支持分配。
  • primaries,主shard支持分配。
  • new_primaries,仅有新创建的shard支持分配。
  • none,所有shard禁止分配。

index.routing.rebalance.enable

指示是否启用shard的再平衡能力。

可选值,如下:

  • all,默认值,全部shard启用再平衡能力。
  • primaries,只针对主shard启用再平衡能力。
  • replicas,只针对副本的shard启用再平衡能力。
  • none,关闭shard的再平衡能力。

index.gc_deletes

被删除的数据记录,其版本号仍然可用的时长。

默认值为60s

index.default_pipeline

默认的ingest pipeline对象。

_none是特殊的pipeline对象,表示空的pipeline对象。

index.final_pipeline

最后的ingest pipeline对象。

request pipelinedefault pipeline之后运行,本参数指定的pipeline必须可用,否则将导致索引相关的操作失败。

_none是特殊的pipeline对象,表示空的pipeline对象。

index.hidden

使用模糊匹配时,是否隐藏本索引对象的相关信息。

可选值,如下:

  • true,即开启模糊匹配时,本索引被隐藏。
  • false,默认值,即开启模糊匹配时,允许本索引被匹配到,并返回相关信息。

相关资料


ElasticSearch之Index modules的更多相关文章

  1. elasticsearch文档-modules

    elasticsearch文档-modules modules 模块 cluster 原文 基本概念 cluster: 集群,一个集群通常由很多节点(node)组成 node: 节点,比如集群中的每台 ...

  2. 使用curator 来管理elasticsearch的index

    这里我们参考官网安装curator https://www.cookiesinn.org/elasticsearch_curator_delete_indices/ https://www.elast ...

  3. ES 08 - 创建、查看、修改、删除、关闭Elasticsearch的index

    目录 1 创建index(配置mapping[映射]) 2 查看index 3 修改index 4 删除index 5 打开/关闭index 6 常见问题及解决方法 index相当于RDBMS(关系型 ...

  4. elasticsearch 处理index 一直INITIALIZING状态

    elasticsearch一个节点异常重启后有一个index恢复的过程中状态一直INITIALIZING 处理方法 PUT index_name/_settings { "index&quo ...

  5. Elasticsearch:Index生命周期管理入门

    如果您要处理时间序列数据,则不想将所有内容连续转储到单个索引中. 取而代之的是,您可以定期将数据滚动到新索引,以防止数据过大而又缓慢又昂贵. 随着索引的老化和查询频率的降低,您可能会将其转移到价格较低 ...

  6. Elasticsearch:Index alias

    现在让我们来谈谈Elasticsearch最简单和最有用的功能之一:别名 (alias).为了区分这里alias和文章"Elasticsearch : alias数据类型",这里的 ...

  7. Elasticsearch查询Index以及删除

    查询Index信息 GET /bank HTTP/1.1Host: localhost:9200 { "bank": { "aliases": {}, &quo ...

  8. 定期删除elasticsearch 的index 索引

    #!/bin/bashfind /data/elasticsearch/data/pro-kz-log/nodes/0/indices/ -type d -mtime +7 | awk -F" ...

  9. 定时删除elasticsearch的index

    #!/bin/bashfind /data/elasticsearch/data/kz-log/nodes/0/indices/ -type d -mtime +5 |  awk -F"/& ...

  10. elasticsearch index tuning

    一.扩容 tag_server当前使用ElasticSearch版本为5.6,此版本单个index的分片是固定的,一旦创建后不能更改. 1.扩容方法1,不适 ES6.1支持split index功能, ...

随机推荐

  1. 如何创建集成 LSP 支持多语言的 Web 代码编辑器

    对于一个云开发平台来说,一个好的 Web IDE 能很大程度地提高用户的编码体验,而一个 Web IDE 的一个重要组成部分就是代码编辑器. 目前有着多款 web 上的代码编辑器可供选择,比如 Ace ...

  2. EXE一机一码打包加密大师(EXE加密, 一机一码, 添加授权,添加静态密码,支持设置试用时间)

    EXE一机一码打包加密大师可以打包加密保护EXE文件,同时给EXE文件添加上一机一码认证,或者静态密码,不同的电脑打开加密后的文件需要输入不同的激活码才能正常使用,保护文件安全,方便向用户收费. 下载 ...

  3. 使用KRPano资源分析工具强力加密JS文件

    本文地址:http://www.cnblogs.com/reachteam/p/6294767.html 软件交流群:571171251(软件免费版本在群内提供) krpano技术交流群:551278 ...

  4. redisson分布式锁的应用——秒杀、超卖 简单例子(分布式锁相关)

    1.常见的分布式事务锁 1.数据库级别的锁 乐观锁,给予加入版本号实现 悲观锁,基于数据库的for update实现 2.Redis,基于SETNX.EXPIRE实现 3.Zookeeper,基于In ...

  5. 解决 wg-quick 在 Mac 上 bash 3 无法运行的问题

    问题原因 我可以理解,开发人员不想使用苹果使用的旧bash v3.但从用户的帖子来看,安装一个较新的bash并不那么好 所以我看了wireguard的wg-quick.需要支持的唯一变化,两个bash ...

  6. Oracle12C登录PDB容器

    Oracle12C登录PDB用户,此为12C的新特性 ①首先管理员身份登录 sqlplus / as sysdba;--管理员身份登录 show con_name;--查看此时连接容器 显示:CDB$ ...

  7. Python基础——垃圾回收、格式化输入输出、基本运算符、流程控制

    文章目录 每日测验 垃圾回收机制详解(了解) 引用计数 标记清除 分代回收 与用户交互 接收用户的输入 字符串的格式化输出 填充与格式化 基本运算符 算数运算符 比较运算符: >.>=.& ...

  8. 畅捷通T+任意文件上传(CNVD-2022-60632 )漏洞复现

    一.漏洞描述 022年8月29日和8月30日,畅捷通公司紧急发布安全补丁修复了畅捷通T+软件任意文件上传漏洞.未经身份认证的攻击者利用该漏洞,通过绕过系统鉴权,在特定配置环境下实现任意文件的上传,从而 ...

  9. jenkins实践篇(2)—— 自动打tag的可回滚发布模式

    大家好,我是蓝胖子,在上一篇我简单介绍了如何基于特定分支做自动编译和发布,在生产环境中,为了更加安全和快速回滚,我采取的是通过对代码打tag的方式来进行部署,下面我将详细介绍整个发布过程的逻辑. 发布 ...

  10. mybatis 操作 mysql 大批量插入,数据分页处理

    /** * 大批量插入,数据分页处理 * * @param tableName 临时表名称 * @param mapHead 临时表属性 Map,key = 临时表字段属性, value = 具体值. ...