簡體   English   中英

Elasticsearch:使用帶有切片的滾動 api 時為空切片

[英]Elasticsearch: empty slices when using scroll api with slice

我有一個簡單的設置,其中包含 1 個實例的綠色集群(v7.5.2)和 1 個索引(副本 0)和 8 個分片。 索引了 61,500 個文檔。

如果我使用這些查詢創建 8 個切片(POST 查詢)

http://localhost:9202/products_dev/_search?scroll=10m: {'slice': {'field': 'created_at', 'id': 0, 'max': 8}, 'size': 1000}
http://localhost:9202/products_dev/_search?scroll=10m: {'slice': {'field': 'created_at', 'id': 1, 'max': 8}, 'size': 1000}
...
http://localhost:9202/products_dev/_search?scroll=10m: {'slice': {'field': 'created_at', 'id': 7, 'max': 8}, 'size': 1000}

對於每個切片,我收集每個切片的第一個命中並獲得這些長度: [1000, 0, 0, 0, 0, 0, 0, 0]

只有 1 個切片有結果,這相當於首先不切片索引。

我用這些命令最多嘗試了 32 個:

http://localhost:9202/products_dev/_search?scroll=10m: {'slice': {'field': 'created_at', 'id': 0, 'max': 32}, 'size': 1000}
http://localhost:9202/products_dev/_search?scroll=10m: {'slice': {'field': 'created_at', 'id': 1, 'max': 32}, 'size': 1000}
...
http://localhost:9202/products_dev/_search?scroll=10m: {'slice': {'field': 'created_at', 'id': 31, 'max': 32}, 'size': 1000}

對於每個切片,我收集每個切片的第一個命中並獲得這些長度: [1000, 0, 0, 0, 0, 0, 0, 0, 1000, 0, 0, 0, 0, 0, 0, 0, 1000, 0, 0, 0, 0, 0, 0, 0, 1000, 0, 0, 0, 0, 0, 0, 0]

這樣我可以使用 4 個不同的(非空)切片滾動我的索引,但我必須創建 32 個不理想的上下文。

我究竟做錯了什么?

我嘗試使用日期作為 slice.field

"slice": {
        "field": "created_at",

但它沒有幫助。

我的本地索引文件很少,大部分文件保存在 1 個分片中

暫無
暫無

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

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