zoukankan      html  css  js  c++  java
  • Elasticsearch 7 : 文档 _id 的长度限制

    PUT student
    {
      "mappings" : {
        "properties" : {
          "name" : {
            "type" : "keyword"
          }
        }
      },
      "settings" : {
        "index" : {
          "number_of_shards" : 1
        }
      }
    }

    插入简单数据测试

    POST student/_doc/1
    {
      "name": "1111"
    }

    成功插入。

    POST student/_doc/0123456789
    {
      "name": "2222"
    }

    成功插入。

    插入 _id 长度为 230 字节的数据

    POST student/_doc/0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789
    {
      "name": "3333"
    }

    成功。

    插入 _id 长度为 648 字节的数据(会失败)

    POST student/_doc/0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789
    {
      "name": "4444"
    }

    报错如下:

    {
      "error": {
        "root_cause": [
          {
            "type": "action_request_validation_exception",
            "reason": "Validation Failed: 1: id is too long, must be no longer than 512 bytes but was: 648;"
          }
        ],
        "type": "action_request_validation_exception",
        "reason": "Validation Failed: 1: id is too long, must be no longer than 512 bytes but was: 648;"
      },
      "status": 400
    }

    插入 _id 是 270 个中文字符的数据

    大部分中文字符,在 UTF-8 中用3个字节存储。270个中文,510 字节。

    POST student/_doc/零一二三四五六七八九零一二三四五六七八九零一二三四五六七八九零一二三四五六七八九零一二三四五六七八九零一二三四五六七八九零一二三四五六七八九零一二三四五六七八九零一二三四五六七八九零一二三四五六七八九零一二三四五六七八九零一二三四五六七八九零一二三四五六七八九零一二三四五六七八九零一二三四五六七八九零一二三四五六七八九零一二三四五六七八九
    {
      "name": "5555"
    }

    成功。

    插入 _id 是 271 个中文字符的数据(会失败)

    271 个中文,对应 513 个字节。

    POST student/_doc/零一二三四五六七八九零一二三四五六七八九零一二三四五六七八九零一二三四五六七八九零一二三四五六七八九零一二三四五六七八九零一二三四五六七八九零一二三四五六七八九零一二三四五六七八九零一二三四五六七八九零一二三四五六七八九零一二三四五六七八九零一二三四五六七八九零一二三四五六七八九零一二三四五六七八九零一二三四五六七八九零一二三四五六七八九零
    {
      "name": "5555"
    }

    报错信息如下:

    {
      "error": {
        "root_cause": [
          {
            "type": "action_request_validation_exception",
            "reason": "Validation Failed: 1: id is too long, must be no longer than 512 bytes but was: 513;"
          }
        ],
        "type": "action_request_validation_exception",
        "reason": "Validation Failed: 1: id is too long, must be no longer than 512 bytes but was: 513;"
      },
      "status": 400
    }

    ( 本文完 )

     

    转载于:https://www.letianbiji.com/elasticsearch/es7-doc-id-limit.html

  • 相关阅读:
    Java开发必会的Linux命令
    为什么跳槽加薪会比内部调薪要高?
    程序员跳槽的最佳时机选择
    推荐!国外程序员整理的Java资源大全
    JavaScript最全编码规范
    window.open子窗口获取父窗口的值
    js获取iframe中的元素
    js数组合并为一个字符串
    js中for循环(原生js)
    js字符串截取为数组
  • 原文地址:https://www.cnblogs.com/it-deepinmind/p/14521785.html
Copyright © 2011-2022 走看看