gpt4 book ai didi

elasticsearch - 如何优化ElasticSearch多个查询

转载 作者:行者123 更新时间:2023-12-02 22:46:33 24 4
gpt4 key购买 nike

我有一个名为user_info的索引,该索引下有两种类型,分别称为user和events。现在,我需要查询200个用户,每个用户要查询10个事件。
所以我做了如下查询(sodu脚本):
用于搜索用户:

{size:200,"match:{"user_address":"CA Sf"}}

然后我向事件类型发出了200个询问:
搜索事件:
{size:10,"term":{"userid":"id1"}}
{size:10,"term":{"userid":"id2"}}
....
{size:10,"term":{"userid":"id200"}}

任何想法请优化以上查询,谢谢!

最佳答案

您可以使用以下查询:

{
"query": {
"terms": {
"userid": [
// list of userId
]
}
},
"aggs": {
"group By user": {
"terms": {
"field": "userId"
},
"aggs": {
"Group By event": {
"terms": {
"field": "event_type"
},
"aggs": {
"top10": {
"top_hits": {
"size": 10
}
}
}
}
}
}
}
}

如果对所有200个userId运行此查询,则查询将很慢。您最好将userId列表分成多个块,然后运行上面的查询。

关于elasticsearch - 如何优化ElasticSearch多个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36206805/

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