[英]Elastic Search documents sorting, indexing issue
我的ElasticSearch索引中有9000個文檔。
我想按分析字符串字段排序,所以,為了做到這一點,我知道(通過谷歌)我必須更新映射,使該字段未分析,所以我可以按此字段排序,我必須重新索引數據再次反映映射的變化。
重新索引過程在我的機器上消耗了大約20分鍾。
奇怪的是,重新索引過程在非常強大的生產服務器上消耗了大約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.