Elasticsearch7.8.0版本优化——路由选择

Posted 小志的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elasticsearch7.8.0版本优化——路由选择相关的知识,希望对你有一定的参考价值。

目录

一、Elasticsearch 如何知道一个文档存放在哪个分片

  • 其实是通过这个公式来计算出来:shard = hash(routing) % number_of_primary_shards
  • routing 默认值是文档的 id,也可以采用自定义值,比如用户 id。

二、不带 routing 查询

  • 在查询的时候因为不知道要查询的数据具体在哪个分片上,所以整个过程分为 如下2 个步骤:

    1、分发:请求到达协调节点后,协调节点将查询请求分发到每个分片上。

    2、聚合: 协调节点搜集到每个分片上查询结果,在将查询的结果进行排序,之后给用户返回结果。

三、带 routing 查询

  • 查询的时候,可以直接根据 routing 信息定位到某个分配查询,不需要查询所有的分配,经过协调节点排序。
  • 自定义的用户查询,如果 routing 设置为 userid 的话,就可以直接查询出数据来,效率提升很多。

以上是关于Elasticsearch7.8.0版本优化——路由选择的主要内容,如果未能解决你的问题,请参考以下文章

Elasticsearch7.8.0版本优化——硬件选择

Elasticsearch7.8.0版本优化——分片策略

Elasticsearch7.8.0版本优化——内存设置

Elasticsearch7.8.0版本优化——一些重要配置解释

Elasticsearch入门——Elasticsearch7.8.0版本指定JDK11版本

Elasticsearch入门——Elasticsearch7.8.0版本指定JDK11版本