簡體   English   中英

彈性搜索文檔排序,索引問題

[英]Elastic Search documents sorting, indexing issue

我的ElasticSearch索引中有9000個文檔。

我想按分析字符串字段排序,所以,為了做到這一點,我知道(通過谷歌)我必須更新映射,使該字段未分析,所以我可以按此字段排序,我必須重新索引數據再次反映映射的變化。

重新索引過程在我的機器上消耗了大約20分鍾。

奇怪的是,重新索引過程在非常強大的生產服務器上消耗了大約2個小時。

我檢查了該服務器上的內存狀態和處理器使用情況,一切正常。

我想知道的是:

  1. 有沒有辦法按分析的標記化字段對文檔進行排序,而無需重新索引整個文檔?

  2. 如果我必須重新索引整個文檔,那么為什么需要花費如此巨大的時間來重新索引服務器上的文檔? 或如何追蹤該服務器上的緩慢原因?

只要該字段存儲在_source中,我就相信每次搜索時都可以使用腳本創建自定義字段。

{
  "query" : { "query_string" : {"query" : "*:*"} },
  "sort" : {
    "_script" : { 
        "script" : "<some sorting field>",
        "type" : "number",
        "params" : {},
        "order" : "asc"
    }
  }
}

每次搜索時,這都有在服務器端重新評估排序腳本的缺點,但我解決了這個問題(1)。

暫無
暫無

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

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