当前位置: 首页 > 面试题库 >

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

斜成济
2023-03-14
问题内容

我想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"}
  }

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


问题答案:

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

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

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

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

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



 类似资料:
  • 问题内容: 如果我不需要localStorage,我的代码将如下所示: 这可行。但是,我需要将此变量存储在localStorage中,事实证明它很顽固。我试过了: 我要去哪里错了? 问题答案: 仅支持字符串。使用和。

  • 我已经为这些列表创建了模型类,这些列表是我收到的对我的服务的响应 清单1 清单2 列表3是最后的列表,上面两个列表映射的结果,即我的服务的响应 清单3 这些列表与用户名和用户标签相连。我已将列表1的所有值映射到列表3。现在对于列表2,我需要检查每个userLabel是否在list3中存在一个userName等于userLabel的对象,如果为true,则totalUsers的值设置为list3的那

  • 例如: 通用 elasticsearch-rest默认使用了几个简单的注解 3.2.1 Document注解 @Document 说明这个 class 是实体类,并且使用默认的 es 规则,即 indexName 名即 es 中的索引,class 字段名即 es 的字段名 @Table 注解可以配置 indexName,aliasName,type,shards,replicas,maxResul

  • 问题内容: 我正在尝试使用NSUserDefaults将数组保存到我的应用程序的核心数据中。我认为使用NSUserDefaults会很好,但是问题是,无论我将创建默认代码的代码放在哪里,都会引发SIGABRT错误。 这是创建默认值的代码: levelsArray是List对象的数组: 如何阻止SIGABRT弹出并存储阵列。帮助将不胜感激。 问题答案: 您需要先使用NSKeyedArchiver将其

  • 问题内容: 它的程序基本从用户那里输入6个数字,将它们存储在一个数组中,计算它们的均值和众数。还计算多少个数字大于平均值。我程序的代码是我错的地方 我的意思是正确的,但是我在模式上有问题。 包p18; 导入java.util.Arrays; 导入java.util.Scanner; 问题答案: 您根本没有将输入存储到数组中。您需要添加类似以下内容的内容来存储用户输入: 我还将平均值和总数更改为双精