弹性搜索如何索引嵌套列表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了弹性搜索如何索引嵌套列表相关的知识,希望对你有一定的参考价值。

如何使用列表创建嵌套数据结构的索引?将有otherUserID列表,我不知道如何使用elasticsearch 6.5索引它们。

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

答案

您可以使用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
    }
  ]
}

以上是关于弹性搜索如何索引嵌套列表的主要内容,如果未能解决你的问题,请参考以下文章

从嵌套列表的子数组返回元素的索引

AWS 弹性搜索。禁止/8/索引写入 (api)。无法写入索引

如何将弹性搜索索引或日志从一个弹性搜索服务器复制到另一台?

如何使用弹性搜索索引 10 亿行 CSV 文件?

如何在弹性搜索的过滤器聚合中引用多个嵌套级别?

如何在弹性搜索中创建索引和类型?