Quelqu'un peut-il fournir un exemple d'API d'analyse de python elasticsearch helpers client?
res = elasticsearch.helpers.scan(....)
Comment puis-je obtenir tous les résultats d'elasticsearch avec l'objet res?
documentation inclut un exemple, bien que si je le lis correctement, helpers.scan
par défaut définit search_type=scan
, qui était supprimé dans ES 5.1 . Cela provoque l'échec de l'exemple de code avec ES renvoyant No search type for [scan]
. Nous pouvons modifier cela avec preserve_order=True
(Je ne suis cependant pas sûr des implications de performances ici):
import elasticsearch
import elasticsearch.helpers
es = elasticsearch.Elasticsearch()
results = elasticsearch.helpers.scan(es,
index="test_index",
doc_type="my_document",
preserve_order=True,
query={"query": {"match_all": {}}},
)
for item in results:
print(item['_id'], item['_source']['name'])
Cet assistant renvoie un objet que vous pouvez parcourir pour obtenir les résultats réels de la requête.
item
est de forme
{'_index': <str>, '_type': <str>, '_id': <str>, '_score': <float or None>, '_source': {'key': val}, 'sort': [<int>]}