一尘不染

如何在ES中使用阵列映射?

elasticsearch

我想movies为该外观创建一个映射:

{
   title: "The Artist",
   genres: ["Drama", "Comedy"]
}

ElasticSearch文档中,我看到了以下示例:

"properties" : {
        "message" : {"type" : "string"},
        "tags" : {"type" : "string", "index_name" : "tag"},
        ...
  }

但是,现在我很困惑。我希望看到的是:

 "properties" : {
     "message" : {"type" : "string"},
      "tags" : {"type" : "array"}
  }

那么,为什么该示例仅提供对另一个索引的引用?如何定义“标签”索引?或者,何时使用该数组映射?


阅读 232

收藏
2020-06-22

共1个答案

一尘不染

因此,ElasticSearch无需指定映射为数组。您可以使用方括号将任何映射视为数组:

{
    title: ["The Artist", "Formerly known as Prince" ],
    genres: ["Drama", "Comedy"],
    ...
}

请参阅页面上的最后一句话:

当然,我们可以将字段命名为标签,并一起跳过index_name

“ index_name”映射仅允许您以标签->标签的复数形式定义别名。

2020-06-22