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

默认情况下,文本字段中的ElasticSearch 5.1 Fielddata是禁用的[错误:尝试在字段上使用聚合]

南宫建白
2023-03-14
问题内容

在我的映射中包含此字段

"answer": {
        "type": "text",
        "fields": {
          "keyword": {
            "type": "keyword",
            "ignore_above": 256
          }
        }
      },

我尝试执行此聚合

"aggs": {
"answer": {
  "terms": {
    "field": "answer"
  }
},

但我得到这个错误

"type": "illegal_argument_exception",
      "reason": "Fielddata is disabled on text fields by default. Set fielddata=true on [answer] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory."

我必须更改映射还是使用错误的聚合?(仅从2.x更新到5.1)


问题答案:

您需要在keyword子字段上进行汇总,如下所示:

"aggs": {
"answer": {
  "terms": {
    "field": "answer.keyword"
  }
},

那可行。



 类似资料:
  • 问题内容: 是否可以为类型选择性地启用elasticsearch字段的索引? 通过特定索引的映射设置,可以设置属性 {“ index”:“ not_analyzed”} 对于特定领域。由于我的文档中的字段太多,并且将来可能会更改结构,因此我需要一个映射,除非另行指定,否则默认情况下不会分析字段。 这可能吗? 问题答案: 是的- 看一下动态模板 请尝试以下操作: 动态模板适用于您的映射未涵盖的新字段

  • 我在寻找一种方法来放弃我的程序中的一个getter。我有一堆动态创建的文本字段: 下面是getter,我想在这里返回聚焦的TextField 处理程序将接收聚焦字段并调用我的“model”-class中的checkInput()方法。 此刻,它接收到一个由我自己设置的预定义字段。检查答案的代码有效。感谢任何帮助我的人,如果我自己找到了一个方法,我一定会把它贴在这里。

  • 我是否可以反转曝光,以便显式地启用导出字段,默认情况下不公开字段? 使用Spring数据在这里Rest,所以其他所有的东西都只是存储库,没有额外的层来做一些聪明的事情。

  • 问题内容: 关于在DRF中与中间模型进行多对多关系的序列化,我遇到了一个大问题:如果请求方法得到了,那么一切都将正常运行。但是,一旦我尝试将数据发布或放置到API中,就会出现以下错误: 我不太确定如何编写适当的创建和更新函数,我也不是很了解它,它在文档中是如何解释的。 码: views.py: serializers.py models.py: 提前致谢。 问题答案: DRF不支持嵌套序列化器的方

  • 我们有一个包含现有字段的PDF表单,我们正在尝试使用默认值向表单添加新字段,但没有成功。基本上,我们正在做以下工作: 字段idClient使用新值更新,但新字段idDocTrackType没有内容。我做错了什么?

  • 问题内容: 我正在使用ColdFusion 8和SQL Server 2008 R2。 我试图查询一列值以获取具有范围内的值的行。该列应为数字,但不是。它被设置为varchar(由其他人)。有100,000多行数据。这是数据的伪样本: 我的查询如下所示: 该查询不会运行,因为where语句的列是varchar,并且出现转换错误,因此我必须将where语句更改为此: 现在,当我运行这样的查询时,它会