У меня есть следующий запрос ElasticSearch:
{
"size": 0,
"aggs": {
"product_attribute_nested_agg": {
"nested": {
"path": "productAttributes"
},
"aggs": {
"inner": {
"filter": {
"fuzzy": {
"productAttributes.name": {
"value": "SS",
"fuzziness": 3
}
}
},
"aggs": {
"terms_nested_agg": {
"terms": {
"field": "productAttributes.name"
}
}
}
}
}
}
}
}
Я использую Nest в качестве клиентской библиотеки, и вот как я генерирую вложенный агрегационный запрос с помощью Fluent DSL:
var searchResponse = elasticClient.Search<ProductType>(s => s
.Index(indices)
.Type(Types.Type(typeof(ProductType)))
.Size(0)
.Aggregations(a => a
.Nested("product_attribute_nested_agg", n => n
.Path(Infer.Field<ProductType>(ff => ff.ProductAttributes))
.Aggregations(aa => aa
.Terms("terms_nested_agg", t => t
.Field(p => p.ProductAttributes.Suffix("name"))
)
)
)
)
);
Но как можно Я генерирую внутренний фильтр, используя синтаксис Fluent DSL ?