gpt4 book ai didi

python - ElasticSearch 中 multiSearch 的最佳批量查询大小

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:41:29 24 4
gpt4 key购买 nike

我正在尝试使用 multisearch 查询 elasticsearch,但它似乎并没有大大缩短时间。

对于大约 70k 查询,不同 bulk_sizes 花费的时间是:

单次搜索每个项目所用时间 = 2611s

multisearch (bulksize=1000) 所用时间 = 2400s

multisearch (bulksize=10) 所用时间 = 2326s

所以,我需要知道

a) 这是执行 MultiSearch 的正确方法吗?

b) 多重搜索的最佳批量大小是多少?

这是我的代码:

search_arr = []

for k in range(i,i+BULK_SIZE):
search_arr.append({'index':'test'})
search_arr.append({"query": {"match": {"title": title[k]}}, "size": 5})
request =''
for each in search_arr:
request += '%s \n' %json.dumps(each)

resp = es.msearch(body=request)

最佳答案

并发搜索的数量受搜索线程池的限制。

https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-threadpool.html

For count/search operations. Thread pool type is fixed with a size of int((# of available_processors * 3) / 2) + 1, queue_size of 1000.

这意味着如果您有单处理器,那么您将有 2 个并发搜索,其余请求将进入队列并在线程再次可用时进行处理。

关于python - ElasticSearch 中 multiSearch 的最佳批量查询大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39620328/

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