簡體   English   中英

Elasticsearch:使用python從索引中檢索所有文檔

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM