from elasticsearch import Elasticsearch
from collections import defaultdict
import pandas as pd
es = Elasticsearch(["http://0.0.0.0:9200"], http_auth=('user_name', 'password'))
query = {
"query": {
"bool": {
"must": [
{
"term": {
"name": "LiMing"
}
},
{
"term": {
"age": "17"
}
}
]
}
}
}
res = defaultdict(list)
scroll = es.search(index="user_base_info_index", body=query, scroll='1m', size=1000)
scroll_id = scroll['_scroll_id']
results = scroll['hits']['hits']
while len(results) > 0:
for hit in results:
res["names"].append(hit["_source"].get("name", ""))
res["ages"].append(hit["_source"].get("age", ""))
scroll = es.scroll(
scroll_id=scroll_id,
scroll='1m'
)
scroll_id = scroll['_scroll_id']
results = scroll['hits']['hits']
res_df = pd.DataFrame(dict(res), dtype=str)
res_df.to_csv("LiMing.csv", index=False)
ES python 客户端授权及全量数据导出
于 2023-08-30 08:52:18 首次发布