NEST弹性搜索:如何返回某些字段以及聚合结果
本文关键字:字段 结果 返回 搜索 何返回 NEST | 更新日期: 2023-09-27 18:26:36
聚合后,我需要查询某些字段。
文件结构为:
{
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一起扩展为返回类型字段?
谢谢。
从您的评论中,您似乎希望根据每个哈希值按类型聚合文档。为此,您需要的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))))));