gpt4 book ai didi

elasticsearch - Elasticsearch单个请求做联合查询Top N

转载 作者:行者123 更新时间:2023-12-03 01:56:10 26 4
gpt4 key购买 nike

不确定如何在Elasticsearch中像 union 这样执行SQL。我尝试了 bool 查询,但还不符合我的要求。例如,文档结构为

{
"id": "123",
"authorId": 28,
"title": "Five Ways to Tap into...",
"byLine": "ashd jsabbdjs international",
"category": "Cat1"
}

当用户键入内容时,我需要在每个 “类别” 中找到前5个匹配的 “标题” 。可以使用对Elasticsearch的多个查询来完成此操作,但是我想知道在一个请求中是否还有其他方法可以做到这一点。

最佳答案

将聚合与top_hits子聚合一起使用:

{
"size": 0,
"query": {"match_all": {}},
"aggs": {
"categories": {
"terms": {
"field": "category",
"size": 10
},
"aggs": {
"top_5": {
"top_hits": {
"size": 5
}
}
}
}
}
}

关于elasticsearch - Elasticsearch单个请求做联合查询Top N,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36518435/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com