我很难将用于 flex 搜索的aggregation query
转换为elastic.js.
,但我正在阅读文档,但我无法弄清楚。而且您可以在网上找到的示例主要是关于已弃用的构面功能的信息,这并不是很有用。
聚合示例的JSON如下所示:
{
"aggs": {
"foo": {
"filter": {
"bool": {
"must": [
{
"query": {
"query_string": {
"query": "*"
}
}
},
{
"terms": {
"shape": [
"wc"
]
}
}
]
}
},
"aggs": {
"field": {
"terms": {
"field": "shape",
"size": 10,
"exclude": {
"pattern": []
}
}
}
}
}
},
"size": 0
}
最佳答案
这是将terms aggregation
与filter aggregation
嵌套到elasticjs
中的方式
ejs.Request()
.size(0)
.agg(ejs.FilterAggregation("foo").filter(ejs.BoolFilter()
.must(ejs.TermsFilter('shape', 'wc'))
.must(ejs.QueryFilter(ejs.QueryStringQuery().query("*"))))
.agg(ejs.TermsAggregation("field").field("shape").size(10).exclude("my_pattern"))
)
顺便说一句,您正在过滤
shape
,然后对其进行aggregations
。我不确定您到底在尝试什么。我发现他们的documentation很好,而且他们还有一个很棒的tool来检查您的查询是否正确。这将对您有很大帮助
希望这可以帮助!!
关于javascript - Elastic.js中的Elasticsearch聚合查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34548818/