簡體   English   中英

Elasticsearch:python中的排序滾動不一致

[英]Elasticsearch: Sorted scroll in python inconsistent

我對結果有些困惑。 我有一個簡單的查詢來獲取添加的最新文檔(基於排序的創建日期或時間戳):

query = {
            "query": {"match_all": {}},
            "sort": [
                {"created_date":  "desc"}
            ],
            "size": 1
        }

當我通過Scroll() API使用helpers.scan()抽象時。 我得到的每次點擊都是不同的(不一致)。 我的彈性集群是靜態的(沒有添加新的數據點),響應的不一致很奇怪,因為我對所有條目進行了排序,並要求返回查詢中的第一個匹配項(大小為1)。 我在這里想念什么?

以供將來偶然發現此問題的人參考。 ElasticSearch主頁上的文檔可能無法在此處澄清疑問,但python驅動程序具有很好的文檔。 根據helpers.scan()

默認情況下,掃描不以任何預定順序返回結果。 要在滾動時在返回的文檔中使用標准順序(按分數或明確的排序定義),請使用preserve_order = True。 這可能是一項昂貴的操作,並且會抵消使用掃描的性能優勢

因此,對於這樣的用例,最好使用search()scan()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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