首页 文章

ElasticSearch术语聚合会在关键字内部字段上引发异常

提问于
浏览
0

尝试在内部关键字字段上执行术语聚合时出现此错误:{“type”:“illegal_argument_exception”,“reason”:“默认情况下,在文本字段上禁用Fielddata . 在[prop.field_name]上设置fielddata = true为了通过反转索引来加载内存中的fielddata . 请注意,这可以使用大量内存 . 或者使用关键字字段 . “}

关于这一点的奇怪之处在于prop.field_name是一个关键字字段 . 这不是文字 . 当我从ElasticSearch检索映射时,我得到“field_name”:{“type”:“keyword”} .

聚合非常简单:“aggs”:{“foo”:{“terms”:{“field”:“prop.field_name”}}}

请注意,prop.field_name不是嵌套的 . 这只是一个常规的内部 property .

我有很多这些内部关键字属性,据我所知,它们都抛出错误 . 我有几个顶级关键字属性,只有其中一个抛出错误 . ES报告所有这些属性的类型是关键字 .

任何想法为什么ES会告诉我属性是一个关键字属性,但是当我尝试聚合它时,它会抛出一个错误,因为它认为它被分析了?

1 回答

  • 0

    我没有想到的映射 . 有问题的字段是动态字段,这就是它需要.keyword后缀的原因 . 它与正确的映射一样正常工作 .

相关问题