代码之家  ›  专栏  ›  技术社区  ›  DeveloperKurt

弹性搜索如何为嵌套列表编制索引

  •  0
  • DeveloperKurt  · 技术社区  · 7 年前

    UserID -> OtherUserID-> name:"text" , count : "long"

    1 回复  |  直到 7 年前
        1
  •  1
  •   Nishant    7 年前

    你可以使用 nested data type 用于创建此类字段和对象索引列表。

    映射:

    PUT testindex
    {
      "mappings": {
        "_doc": {
          "properties": {
            "nestedField": {
              "type": "nested",
              "properties": {
                "field1": {
                  "type": "text",
                  "fields": {
                    "keywords": {
                      "type": "keyword"
                    }
                  }
                },
                "field2": {
                  "type": "integer"
                }
              }
            }
          }
        }
      }
    }
    

    对于列表中的单个项目:

    PUT testindex/_doc/1
    {
      "nestedField": [
        {
          "field1": "Some text",
          "field2": 10
        }
      ]
    }
    

    对于列表中的多个项目:

    PUT testindex/_doc/2
    {
      "nestedField": [
        {
          "field1": "Some other text",
          "field2": 11
        },
        {
          "field1": "random value",
          "field2": 15
        }
      ]
    }