2

聚合后,我需要查询某些字段。

文件结构为:

{
  id: 1,
  type: AA,
  hashValue: "qweqeqwdwwew"
    ...and many more fields
}

我想按'hashValue'聚合,这样我就只能得到唯一的hashValues,并且返回结果也应该有类型。我需要有关 NEST 查询的帮助。

当前要聚合的查询是:

var result = esClient.Search < EType > (q => q
.Index(esClient.Index)
.Routing(id.ToString(CultureInfo.InvariantCulture))
.Aggregations(ag => ag
  .Terms("Hash", ee => ee
    .Field(f => f.hashValue)))));

我如何将它的返回类型字段与 hashValue 一起扩展?

谢谢。

4

1 回答 1

1

从您的评论来看,您似乎希望按哈希值聚合每种类型的文档。为此,您需要的 Nest 查询如下:

var result = esClient.Search<EType>(q => q
    .Index(esClient.Index)
    .Routing(id.ToString(CultureInfo.InvariantCulture)
    .Aggregations(agHash => agHash
        .Terms("Hash", eeHash => eeHash
            .Field(fHash => fHash.hashValue)
        .Aggregations(agType => agType
            .Terms("Types", eeType => eeType
                .Field(fType => fType.typeValue))))));
于 2015-12-14T10:14:19.953 回答