【ES实战】索引的路由

news/2024/7/7 6:40:15 标签: elasticsearch, linux, java

索引的路由字段(_routing)

文章目录

  • 索引的路由字段(_routing)
    • 自定义路由的使用
      • 为什么使用自定义路由
      • 使用自定义路由会有什么问题
      • 怎么缓解以上的问题

自定义路由的使用

详细:【ES实战】路由字段(_routing field)

为什么使用自定义路由

  • 降低集群在默认路由分片时的网络开销
  • 减少寻找分片的时间,增加查询,写入的执行效率

使用自定义路由会有什么问题

  • 数据分配的不均衡,分片间大小差距过大,导致集群不稳定。
  • 使用了自定义路由的索引,无法使用join或者parent-child relationships特性。
  • 在索引的分片上会出现_id一致,_routing值不一致的数据,_id值不能作为全局唯一判断依据,需要自行使用业务id处理。
  • 在增删查是需要在语句上带上_routing参数值,不然会与预期结果不一致,或者直接报错。

怎么缓解以上的问题

  1. 通过在以下位置提供索引级别设置 index.routing_partition_size 来完成的索引创建。 随着分区大小的增加,数据将变得越均匀,代价是每个请求必须搜索更多的分片。

  2. 自定义路由和join ,parent-child 这种关联关系的使用,只能根据业务情况进行选择使用。

  3. 在索引中增加一个业务id的字段作为全局唯一的主键判断标准,或者也可能不在乎主键的情况。

  4. 可以在创建索引时,增加_routing,required的配置,这样在CRUD的时候就需要补上_routing参数。

    PUT my_index2
    {
      "mappings": {
        "my_type": {
          "_routing": {
            "required": true 
          }
        }
      }
    }
    

    7.X版本

    PUT my_index2
    {
      "mappings": {
        "_routing": {
          "required": true 
        }
      }
    }
    

http://www.niftyadmin.cn/n/1096954.html

相关文章

打印螺旋矩阵(python)实现

螺旋阵:任意给定n的值,an如下螺旋方式输出方阵 n 3 输出:1 8 72 9 63 4 5n 4 输出:1 12 11 102 13 16 93 14 15 84 5 6 7算法设计1:此例按照摆放数据的过程,逐圈分别处理每圈的左&#x…

车联网大数据框架_车联网行业,迎来一个深刻大变革

三剑客"煤飞色舞"强势来袭,煤炭这种蹲了几年坑的板块终于迎来了逆袭,成了今天最热的地方,恭喜,不少投资者终于能解套了。对于钢铁煤炭等这种顺周期行业,老张在昨天的文章中也提到,短期存在持续性…

B-树的理论分析

文章目录B-树背景知识B-树的定义与特点查找的分析插入的分析分裂的过程删除的分析替换的过程合并的过程动态演示JAVA实现B-树 理论部分来自《数据结构 (C语言版)》 严蔚敏 背景知识 B-树是一种平衡的多路查找树,B-树其实就是B树,…

多路径配置udev_详解Linux Multipath多路径配置--概念、配置、常用维护命令等

概述在Linux平台一部分存储产品使用操作系统自带的多路径软件,包括最常见的HP和IBM的部分存储产品,在Linux自带的多路径软件叫做multipath。那么问题就来了,到底什么是多路径?普通的电脑主机都是一个硬盘挂接到一个总线上&#xf…

框架优化系列文档:SVN中非版本控制文件忽略上传的设置

对于SVN代码库,只应该上传源代码、资源文件等内容进行版本管理,通常编译后的二进制文件、程序包等生成产物是不应该放到SVN上做版本管理的。因此在svn的客户端工具中设置svn的属性:svn:ignore,使本地工作目录下的哪些目录或文件不…

打印魔方阵(python)实现

魔方阵是我国古代发明的一种数字游戏:n阶魔方是指这样一种方阵,他的每一行,每一列以及对角线上的各数之和为同一个相同的常数,这个常数是:n*(n**2 1)/2,此常数称为魔方阵常数。由于偶数次阶的方阵求解起来比较困难&am…

CentOS 下修改/dev/shm 大小解决ORA-00845

环境:CentOS6.2 64bit VMWare Workstation 7.1 Linux下,Oracle 11g的自动内存管理不能指定大于这个/dev/shm的总量内存。否则就会出现如下错误 ORA-00845: MEMORY_TARGET not supported on this system Linux环境下,挂载点 /dev/shm默认是…

onenote怎么同步到电脑_如何同步手机和电脑 onenote

展开全部方法如下:首先要在手机上e68a84e8a2ad3231313335323631343130323136353331333365643662从APP STORE里下载ONENOTE客户端到手机上,然后做账号配置。a. 打开OneNote。b. 输入用户名,点击下一步。c. 验证过后,点击开始使用OneNote。d. 登…