索引的配置项按是否可以更改分为静态配置与动态配置,所谓的静态配置即索引创建后不能修改。文章来源地址https://www.toymoban.com/news/detail-588354.html
索引静态配置 【索引创建后不能修改】
- index.number_of_shards:索引分片的数量。在ES层面可以通过es.index.max_number_of_shards属性设置索引最大的分片数,默认为1024,index.number_of_shards的默认值为Math.min(es.index.max_number_of_shards,5),故通常默认值为5。
- index.shard.check_on_startup:分片在打开之前是否应该检查该分片是否损坏。当检测到损坏时,它将阻止分片被打开。可选值:false:不检测;checksum:只检查物理结构;true:检查物理和逻辑损坏,相对比较耗CPU;fix:类同与false,7.0版本后将废弃。默认值:false。
- index.codec:数据存储的压缩算法,默认值为LZ4,可选择值best_compression ,比LZ4可以获得更好的压缩比(即占据较小的磁盘空间,但存储性能比LZ4低)。
- index.routing_partition_size:路由分区数,如果设置了该参数,其路由算法为: (hash(_routing) + hash(_id) % index.routing_parttion_size ) % number_of_shards。如果该值不设置,则路由算法为 hash(_routing) % number_of_shardings,_routing默认值为_id。
索引动态配置
- index.number_of_replicas:索引复制分片的个数,默认值1,该值必须大于等于0,索引创建后该值可以变更。
- index.auto_expand_replicas:副本数是否自动扩展,可设置(e.g0-5)或(0-all)。
- index.refresh_interval:执行刷新操作的频率,该操作使对索引的最新更改对搜索可见。默认为1s。可以设置为-1以禁用刷新。
- index.max_result_window:控制分页搜索总记录数,from + size的大小不能超过该值,默认为10000。
- index.max_inner_result_window:从from+ size的最大值,用于控制top aggregations,默认为100。内部命中和顶部命中聚合占用堆内存,并且时间与 from + size成正比,这限制了内存。
- index.max_rescore_window:在rescore的搜索中,rescore请求的window_size的最大值。
- index.max_docvalue_fields_search:一次查询最多包含开启doc_values字段的个数,默认为100。
- index.max_script_fields:查询中允许的最大script_fields数量。默认为32。
- index.max_ngram_diff:NGramTokenizer和NGramTokenFilter的min_gram和max_gram之间允许的最大差异。默认为1。
- index.max_shingle_diff:对于ShingleTokenFilter, max_shingle_size和min_shingle_size之间允许的最大差异。默认为3。
- index.blocks.read_only:索引数据、索引元数据是否只读,如果设置为true,则不能修改索引数据,也不能修改索引元数据。
- index.blocks.read_only_allow_delete:与index.blocks.read_only基本类似,唯一的区别是允许删除动作。
- index.blocks.read:设置为true以禁用对索引数据的读取操作。
- index.blocks.write:设置为true以禁用对索引数据的写操作。(针对索引数据,而不是索引元数据)。
- index.blocks.metadata:设置为true,表示不允许对索引元数据进行读与写。
- index.max_refresh_listeners:索引的每个分片上当刷新索引时最大的可用监听器数量。这些侦听器用于实现refresh=wait_for。
- index.highlight.max_analyzed_offset:高亮显示请求分析的最大字符数。此设置仅适用于在没有偏移量或term vectors的文本字段时。默认情况下,该设置在6中未设置。x,默认值为-1。
- index.max_terms_count:可以在terms查询中使用的术语的最大数量。默认为65536。
- index.routing.allocation.enable:Allocation机制,其主要解决的是如何将索引在ES集群中在哪些节点上分配分片(例如在Node1是创建的主分片,在其他节点上创建复制分片)。
举个例子,如果集群中新增加了一个节点,集群的节点由原来的3个变成了4
可选值:(1).all:所有类型的分片都可以重新分配,默认。(2).primaries:只允许分配主分片。(3).new_primaries:只允许分配新创建的主分片。(4).none:所有的分片都不允许分配。 - index.routing.rebalance.enable:索引的分片重新平衡机制。可选值如下:(1).all:默认值,允许对所有分片进行再平衡。(2).primaries:只允许对主分片进行再平衡。(3).replicas:只允许对复制分片进行再平衡。(4).none:不允许对任何分片进行再平衡
- index.gc_deletes:文档删除后(删除后版本号)还可以存活的周期,默认为60s。
- index.max_regex_length:用于正在表达式查询(regex query)正在表达式长度,默认为1000。
- index.default_pipeline:默认的管道聚合器。
文章来源:https://www.toymoban.com/news/detail-588354.html
到了这里,关于Elasticsearch之Index Setting:索引的静态配置与动态配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!