45

我想为它创建一个映射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"}
  }

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

4

1 回答 1

55

所以 ElasticSearch 不需要指定一个映射是一个数组。您可以使用方括号将任何映射视为数组:

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

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

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

“index_name”映射只允许您以 tag -> tags 的复数形式定义别名。

于 2013-09-19T22:39:55.263 回答