gpt4 book ai didi

python - ElasticSearch,size参数不适用于helpers.scan函数

转载 作者:行者123 更新时间:2023-12-03 01:51:32 24 4
gpt4 key购买 nike

我使用以下python代码获取ElasticSearch记录。我只想获取50000条记录。但事实是我得到了整个索引(超过100万条记录)。

result = helpers.scan(
es,
query={
"_source": ["points.style_attrs.POI_TYPE", "point.poi_id.encrypted_value"],
"size": 50000,
"query": {
"bool": {
"must": [
{"term": {"metadata.tag": tag}},
{"term": {"metadata.city": city}}
]
}
}
},
size=1000,
index=from_index)

在调试代码时,我只想获取一些记录以确保我的代码正确。如果获取整个索引,则无法快速调试代码。

最佳答案

您所做的一切都正确,除了您要处理的一件事情。如helpers.scan文档中所引用

size: size (per shard) of the batch send at each iteration.



应该将helpers.scan方法返回一个生成器,可以对其进行迭代以获取记录。在您的情况下,代码如下所示:
result = helpers.scan(
es,
query= your_query,
index=from_index)

count = 0
final_result = list()
for each_result in result:
final_result.append(each_result)
count += 1
if count == 50000:
break

关于python - ElasticSearch,size参数不适用于helpers.scan函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40018939/

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