elasticsearch 弹性搜索查询,返回每个类别的前三名
我想写一个弹性查询,它应该返回两位作者的前三本书,西德尼·谢尔顿和约翰·格雷舍姆说 该文档包含id、标题、作者、无拷贝、发行日期等字段 我想在单个查询中完成这一点,而不是分别为Sidney Sheldon和John Gresham查询两次elasticsearch 弹性搜索查询,返回每个类别的前三名,elasticsearch,search,types,elasticsearch,Search,Types,我想写一个弹性查询,它应该返回两位作者的前三本书,西德尼·谢尔顿和约翰·格雷舍姆说 该文档包含id、标题、作者、无拷贝、发行日期等字段 我想在单个查询中完成这一点,而不是分别为Sidney Sheldon和John Gresham查询两次 非常感谢您的帮助。首先筛选作者,只针对您想要的文档。 按作者汇总后,取前三名已售出的无拷贝(=顶级图书)并要求提供标题(如果需要,在查询中添加其他字段) { "size": 0, "query": { "terms": { "aut
非常感谢您的帮助。首先筛选作者,只针对您想要的文档。 按作者汇总后,取前三名已售出的无拷贝(=顶级图书)并要求提供标题(如果需要,在查询中添加其他字段)
{
"size": 0,
"query": {
"terms": {
"author": [
"Sidney Sheldon",
"John Gresham"
]
}
},
"aggs": {
"author_agg": {
"terms": {
"field": "author"
},
"aggs": {
"hits": {
"top_hits": {
"sort": [
{
"no_copies_sold": {
"order": "desc"
}
}
],
"_source": [
"title"
],
"size": 3
}
}
}
}
}
}