0
私はこのようなelasticsearchクエリを持っています、このクエリは約25kの結果をもたらすでしょう、私はどのように私の結果の配信をチャンクに分割することができますか?elasticsearchクエリの結果をチャンクに分割しますか?
def get_data():
totals = 0
payload = {
"size": 50000,
"query": {
"filtered": {
"filter" : {
"bool": {
"must": [
{"term": {"events.id": "1"}},
{"range": {"score_content_0": {"gte": 60}} },
{"range": {"published_at": { "gte": "2016-12-19T00:00:00", "lte": "2017-04-19T23:59:59"}}},
{"term": {"lang": "en"}}
]
}
}
}
}
}
r = requests.post(RM_URL, json=payload)
results = json.loads(r.content, encoding='utf-8')
totals = results['hits']['total']
myhits = results['hits']['hits']
return myhits
可能ですこんにちは、私は実際に私の会社のサーバー上でそれを実行し、一度に25Kを取得し、データエンジニアの連中は私に言いました私はクエリの結果をチャンクに分割してサーバメモリの負荷を減らす必要があります。スキャンAPIをPythonでどのように使用するのか教えてください。 –
これは役立つかもしれません:https://elasticsearch-py.readthedocs.io/ja/master/helpers.html#scan – Val