gpt4 book ai didi

php - Elasticsearch:多个小查询与一个大查询-效率?

转载 作者:行者123 更新时间:2023-12-03 00:52:20 25 4
gpt4 key购买 nike

在php循环中执行多个单个查询或将所有内容保留在数组中并为 flex 建立一个更大的查询是否更有效?

选项1:

foreach ($rowset as $row) { 
//execute query:
"query": {
"bool" : {
"must" : [
{"term" : { "a" : "'.$row['a'].'" }},
{"term" : { "b" : "'.$row['b'].'" }}
]
}
}

}

选项2:
$search = "";

foreach ($rowset as $key => $row) {

if($key > 0) {

$search .= ',';
}

$search .= '"must" : [
{"term" : { "a" : "'.$row['a'].'" }},
{"term" : { "b" : "'.$row['b'].'" }}
]'
}


"query": {
"bool" : {
"should" : [
"must" : [
'.$search.'
]
]
}
}

在这个最小的示例中,语法可能不正确,但我希望这个主意变得清晰。我希望选项2更快。我现在还没有测试它,因为我现在有多个嵌套循环,并且希望在重写代码之前进行选择。

最佳答案

外部资源请求总是很慢。因此,最好创建单个请求。外部数据库将以相同的速度处理它,但是您可以节省请求时间。

另一方面,您会收到如此大的查询,以至于您的客户端(例如浏览器)将超时,或者您无法将所有内容都存储到内存中进行处理。

使用具有合理数据量的单个查询。

关于php - Elasticsearch:多个小查询与一个大查询-效率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51306849/

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