Index Modules(索引模块)是根据索引创建的 modules (模块),并控制与 index(索引)相关的所有设置。
索引级别的设置可以针对每个索引单独设置。这些设置可以是 :
static(静态的)
只能在索引创建时或者在状态为 closed index(闭合的索引)上设置。
dynamic(动态的)
可以使用 update-index-settings API 在状态为 live index(激活的索引)上更改它们。
警告
在闭合索引上更改 static(静态的)或 dynamic(动态的)索引设置可能导致不正确的配置,无法在不删除和重新创建索引的情况下进行纠正。
以下是与任何特定索引模块无关的,所有 static(静态)索引设置的列表 :
index.number_of_shards
索引应具有的主分片数。默认为 5。此设置只能在索引创建时设置。在闭合的索引上无法更改。注意 : 分片数量限制为每个索引 1024 个。这是一种安全限制,防止意外创建索引后资源分配导致集群不稳定。可以通过在集群的每个节点上设置环境变量 ES_JAVA_OPTS ="- Des.index.max_number_of_shards = 128" 来修改限制。
index.shard.check_on_startup
[实验功能],可能在后期版本中移除]是否应在索引打开前检查分片是否损坏,当检查到分片损坏将禁止分片被打开。
false
默认值,打开分片时不检查分片是否损坏。
checksum
检查物理损坏。
true
检查物理和逻辑损坏,这将消耗大量的内存和 CPU。
fix
检查物理和逻辑损坏。有损坏的分片将被集群自动删除,这将导致数据丢失。该选项也许会造成数据丢失。使用时请考虑清楚。
检查分片在数据量大的索引会消耗更多的时间。
index.codec
默认使用LZ4压缩方式存储数据,也可以设置为 best_compression,它使用 DEFLATE 方式以牺牲字段存储性能为代价来获得更高的压缩比例。
index.routing_partition_size
自定义路由值可以转发的目的分片数。默认为 1,只能在索引创建时设置。此值必须小于 index.number_of_shards,除非 index.number_of_shards 值也为 1。有关如何使用此设置的更多详细信息,请参阅 Routing to an index partition。
以下是与任何特定索引模块无关的,所有 dynamic(动态)索引设置的列表 :
index.number_of_replicas
每个主分片的副本数。默认为 1。
index.auto_expand_replicas
基于可用节点的数量自动分配副本数量。可以设置为以中划线分隔的最小值和最大值(例如 0-5)或设置最大值为 all(例如0-all)。默认为 false(即禁用此功能)。
index.refresh_interval
执行刷新操作的频率,这使得索引的最近更改可以被搜索。默认为 1 秒。可以设置为 -1 以禁用刷新。
index.max_result_window
用于索引搜索的 from+size 的最大值。默认为 10000。搜索请求占用堆内存和时间与 from+size 的大小成正比,有此限制是为了防止内存溢出。请参阅 Scroll 或 Search After,以提高效率。
index.max_rescore_window
在搜索此索引中 rescore 的 window_size 的最大值。默认为 "index.max_result_window"设置的值即 10000。搜索请求占用堆内存和时间与 from+size 的大小成正比,有此限制是为了防止内存溢出。
index.blocks.read_only
设置为 true 使索引和索引元数据为只读,false 为允许写入和元数据更改。
index.blocks.read
设置为 true 可禁用对索引的读取操作。
index.blocks.write
设置为 true 可禁用对索引的写入操作。
index.blocks.metadata
设置为 true 可禁用索引元数据的读取和写入。
index.max_refresh_listeners
索引的每个分片上可用的最大刷新侦听器数。这些侦听器用于实现 refresh=wait_for。
在索引模块中其他可用的索引设置 :
Analysis(分析)
定义 analyzers(分析器)、tokenizers(分词器)、token filters(词元过滤器)和 character filters(字符过滤器)。
Index shard allocation(索引分片分配)
控制索引分配给节点的位置、时间、以及分片的方式。
Mapping(映射)
启用或禁用索引的动态映射。
Merging(合并)
控制后台合并线程如何合并分片。
Similarities(相似性)
配置自定义相似性设置以自定义搜索结果的计分方式。
Slowlog(慢日志)
控制记录搜索和索引请求的响应时间。
Store(存储))
配置用于存储分片数据的文件系统类型。
Translog(事务日志)
控制事务日志和后台刷新操作。