Elasticsearch术语聚合 - 整数字段

时间:2014-08-17 06:58:19

标签: elasticsearch nest

基本上我在es中有一个目录设置,每个类别都有一个id(int),它的名字是一个字符串。

我有一个方面正在努力通过他们的ID来获取类别并计算它们以在网站上的“过滤器”类型显示中显示它们。

无论如何,方面显然已经折旧,所以它说在网站上使用术语聚合。

我输入以下代码('catList'是主doc中的列表,因此嵌套):

.Aggregations
(a => a.Nested
    ("agg_cat",
    n => n.Path("catList")
    .Aggregations(aa => aa.Terms("level1", st => st.Field("categoryLevel1ID")))))

(在.net中使用'nest'。

它起作用的意义是它取回桶中的项目并获得正确的计数等,但'key'字段为'null'

问题:我可以在其中输入带有整数的'key'字段吗?

目前我有一个'解决方法'将映射从'整数'更改为'multi_field',其中两个'字段'是一个字符串和一个整数。如果我将聚合更改为字符串字段,那么在'key'中我返回数字(作为字符串...)。工作,因为我可以在.net代码中转换为int,但它感觉有点hackish ....有没有人看到这种方法的任何问题?

Ps:阅读elasticsearch网站上的term agg文档,我看不到它只能用于字符串。这会丢失吗?

ES版本:1.3.2(30分钟前下载:P)

0 个答案:

没有答案