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

时间:2018-04-06 23:15:52

标签: elasticsearch

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

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

我没有想到的映射。有问题的字段是动态字段,这就是它需要.keyword后缀的原因。它可以按预期正确映射。