当前位置: 首页 > news >正文

Elasticsearch7.8.0版本进阶——路由计算

目录

    • 一、路由计算
      • 1.1、路由计算的前提理解
      • 1.2、路由计算的概述
      • 1.3、路由计算的概述

一、路由计算

1.1、路由计算的前提理解

  • 当索引一个文档的时候,文档会被存储到一个主分片中。
  • Elasticsearch 如何知道一个文档应该存放到哪个分片中呢?当我们创建文档时,它如何决定这个文档应当被存储在分片1 还是分片 2 中呢?
  • 首先这肯定不会是随机的,否则将来要获取文档的时候我们就不知道从何处寻找了。

1.2、路由计算的概述

  • 图解
    在这里插入图片描述

1.3、路由计算的概述

  • 创建文档时,这个文档应当被存储在哪个分片,这个过程是根据下面这个公式决定的:

    路由计算公式:  shard = hash(routing) % number_of_primary_shards
    
  • 路由计算公式参数解释

    路由计算公式参数解释
    hashhash 函数
    routing是一个可变值,默认是文档的 _id,也可以设置成一个自定义的值。
    number_of_primary_shards主分片的数量
    shard分布在 0 到 number_of_primary_shards-1 之间的余数,就是我们所寻求的文档所在分片的位置。
  • 这就解释了为什么我们要在创建索引的时候就确定好主分片的数量 并且永远不会改变这个数量:因为如果数量变化了,那么所有之前路由的值都会无效,文档也再也找不到了。

http://www.lryc.cn/news/4322.html

相关文章:

  • c#反射-获取属性和字段的值
  • 前后端分离-小项目-1前端布局
  • 基于jsp的网络电子相册的设计与实现
  • Python快速上手系列--类--详解篇
  • Dubbo基本原理和用法讲解
  • TCP详解及面试相关问题
  • LVGL V9.0基于VS2022仿真搭建
  • 多线程面试题开胃菜2(5道)
  • 第三次作业
  • 基础算法(直接插入,希尔排序,快排,归并,折半查找)
  • 电子学会2022年12月青少年软件编程(图形化)等级考试试卷(一级)答案解析
  • 基于JAVA的超级玛丽设计与实现
  • 硬件工程师入门基础知识(一)基础元器件认识(二)
  • Python-项目实战--贪吃蛇小游戏-游戏框架搭建(2)
  • JVM基础
  • Android 内存优化(基础轮)必看~
  • STM32单片机GSM短信自动存取快递柜
  • 力扣(LeetCode)410. 分割数组的最大值(2023.02.12)
  • 管理还原数据
  • c的关键字有那些
  • 链表OJ(一)
  • MySQL第三次作业
  • Python中的类和对象(7)
  • 【JVM】7种经典的垃圾收集器
  • 2023/2/12总结
  • Linux之正则表达式
  • 前端高频面试题-HTML和CSS篇(一)
  • Redis 专题总结
  • 【Python百日进阶-Web开发-Vue3】Day515 - Vue+ts后台项目2:登录页面
  • 【博客620】prometheus如何优化远程读写的性能