[英]Elasticsearch : retrieve all documents from index with python
我需要從Python中的Elasticsearch檢索文檔。
所以我寫了這個小代碼:
es = Elasticsearch(
myHost,
port=myPort,
scheme="http")
request = '''{"query": {"match_all": {}}}'''
results = es.search(index=myIndex, body=request)['hits']['hits']
print(len(results))
>> 10
問題在於,當我希望有幾百個文檔時,它僅從索引中返回10個文檔。 如何從索引中檢索所有文檔?
您有幾種方法可以解決此問題。
如果知道索引中將包含的最大文檔數量,則可以將搜索的size
參數設置為該數量或更大。 例如,如果您知道少於100,則可以通過以下方式檢索它們: results = es.search(index=myIndex, body=request, size=100)['hits']['hits']
如果您不知道該數字,但仍然想要所有這些數字,則必須使用scan
功能,而不是search
功能。 該文檔在這里
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.