def query_entity_value(es, index_table, name):
request_body = {
"query": {
'bool': {
'filter': {
"term": {
'name.keyword': name,
# "value": '再生育确认'
}}},
},
}
res_start = es.search(index=index_table, body=request_body, size=10000, from_=0)
res_data = res_start['hits']['hits']
total_num = res_start['hits']['total']
from_int = 10000
if total_num / 10000 > 1:
for i in range(round(total_num / 10000)):
res_entity = es.search(index=index_table, body=request_body, size=10000, from_=from_int)
res_data += res_entity['hits']['hits']
from_int = from_int + 10000
if res_data:
res_data = [i['_source']['value'] for i in res_data]
return res_data
es做批量查询解决默认1万条数据
于 2023-04-04 15:44:11 首次发布
该代码段定义了一个defquery_entity_value函数,它通过Elasticsearch(ES)服务查询指定index_table中的数据。使用bool查询和filter过滤器,针对name.keyword字段进行term匹配。如果数据量超过10000条,代码将分批获取,确保获取所有结果。最后,提取并返回所有匹配项的value字段值。
6221

被折叠的 条评论
为什么被折叠?



