我们正在尝试以原始格式通过 NEST 传递聚合:
{
"query": {
"filtered": {
"query": {
"multi_match": {
"query": "main",
"type": "cross_fields",
"fields": [
"field1",
"field2^5",
],
"operator": "and"
}
}
}
},
"aggregations": {
"multiselectTerms": {
"terms": {
"field": "field1.raw",
"order": {
"_count": "desc"
}
}
}
}
}
但是当我们在 NEST 中传递上面的 JSON 时,我们没有得到结果。有人可以提供一些输入,我们如何在 NEST 中传递聚合。
var uri = new Uri(ConfigurationManager.AppSettings["ELASTICSEARCH_SERVER"]);
var settings = new ConnectionSettings(uri, defaultIndex: ConfigurationManager.AppSettings["indexName"]);
settings.EnableTrace(true);
var client = new ElasticClient(settings);
var resp=client.Search<dynamic>(q =>
q.Type("mappingType").QueryRaw(reqObj["query"].ToString()).From(Convert.ToInt32(((JValue)reqObj["from"]))).Size(Convert.ToInt32(((JValue)reqObj["size"])))
);
作为回应,我们没有得到聚合和命中的数据。