NEST 弹性搜索:如何 return 某些字段以及聚合结果?
NEST elastic search: how to return certain fields along with aggregated results?
我需要在聚合后查询某些字段。
文档结构为:
{
id: 1,
type: AA,
hashValue: "qweqeqwdwwew"
...and many more fields
}
我想按 'hashValue' 进行聚合,以便我只获得唯一的哈希值,并且 return 结果也应该具有该类型。我需要有关 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)))));
我如何扩展它的 return 类型字段和 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))))));
我需要在聚合后查询某些字段。
文档结构为:
{
id: 1,
type: AA,
hashValue: "qweqeqwdwwew"
...and many more fields
}
我想按 'hashValue' 进行聚合,以便我只获得唯一的哈希值,并且 return 结果也应该具有该类型。我需要有关 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)))));
我如何扩展它的 return 类型字段和 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))))));