2016-05-05 29 views
1

我目前正在嘗試使用python包進行elasticsearch查詢。然而,每當我調用es.search()時,我只會得到10個結果,當應該有超過1M的時候。任何人都可以告訴我如何獲得所有命中?如何獲取python的elasticsearch中的所有匹配?

+3

返回文檔的默認大小爲10,您需要指定大小參數來設置返回的文檔大小 – alpert

+0

我試圖將大小設置爲1M,但它拋出了一個錯誤,稱它不能大於10k。 – Salamander

+0

所以你可以看看scrool api:https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-scroll.html – alpert

回答

0

使用elasticsearchelasticsearch-dsl庫:

from elasticsearch import Elasticsearch 
from elasticsearch_dsl import Search 

client = Elasticsearch(host="localhost") 

s = Search(using=client, index="my_index") 

for hit in s.scan(): 
    print(hit.title) 

documentation about pagination

相關問題