基本上我在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)