elasticsearch的参数你都了解吗

484 阅读3分钟

「这是我参与2022首次更文挑战的第13天,活动详情查看:2022首次更文挑战」

codex

  • 默认值使用 LZ4 压缩存储的数据,但可以将其设置为best_compression,后者使用 DEFLATE 以获得更高的压缩比,但代价是存储字段性能较慢
  • 如果要更新压缩类型,则在合并段后将应用新的压缩类型。可以使用强制合并来强制段合并。

routing_partition_size

  • number_of_shards代表分片数。在默认情况使用id路由时会平均分配数据在不同的分片上。这样避免某一个分片压力过大。我们使用routing可以自定义路由跳转。这样的好处是我们可以将数据分类管理。比如说用户张三的数据就放在1分片上。这样如果系统很长时间只有张三一直在操作那么数据就会一直存在1主分片上。这样就造成了数据倾斜。
  • number_of_routing_shards中是通过自定义的routing与分片数取模,确定最终分片位置。但是这样造成数据倾斜。所以ES引入routing_partition_size将主分片进行逻辑分组。然后将routing与id一起与分组内的分片进行取模运行。这样就减轻了数据倾斜问题

load_fixed_bitset_filters_eagerly

  • 嵌套查询预加载缓存筛选器;默认true

hidden

  • 是否应隐藏索引。默认情况下,使用通配符表达式时不返回隐藏索引。此行为是通过使用 expand_wildcards 参数来控制每个请求的。可能的值为真和假(默认值)

动态配置

  • 动态参数指的是可以在索引运行期间修改的参数

number_of_replicas

  • 每个主分片都对应拥有副本数,默认情况是1 , 这个在上图中我们也能看到maltcloud_charted中有一个绿色的一个灰色的,灰色的表示副本分片。

auto_expand_replicas

  • 根据集群中数据节点的数量自动扩展副本的数量。默认false ;
  • 根据集群中的数据节点数自动扩展副本数。设置为以短划线分隔的下限和上限(例如 0-5),或使用 all 作为上限(例如 0-all)。默认为 false(即禁用)。请注意,自动扩展的副本数仅考虑分配筛选规则,但会忽略其他分配规则,例如每个节点的总分片数,如果适用的规则阻止分配所有副本,这可能会导致群集运行状况变为黄色。
  • 如果上限为全部,则此索引将忽略shard allocation awarenesscluster.routing.allocation.same_shard.host

search_idle_after

  • 分片处理响应时间。一个分片在搜索闲置之前最长等待时间

refresh_interval

  • 刷新频率;执行刷新操作的频率,这将使最近对索引所做的更改对搜索可见。默认值为 1。可以设置为 -1 以禁用刷新。如果未显式设置此设置,分片在请求search_idle_after周期内收到搜索请求之前不会收到后台刷新。命中刷新挂起的空闲分片的搜索将等待下一次后台刷新(在 1 秒内)。目的是在不执行搜索的默认情况下自动优化批量索引。

max_result_window

  • 搜索数据最大条数。

max_inner_result_window

  • 内部命中数据和热门命中数据的总大小

routing.allocation.enable&routing.rebalance.enable

  • 控制索引的分配策略和分片自平衡策略