我有大量的源代碼,在磁盤上經常變化。 這些源代碼被組織在 "專案 "的大塊中(可能也是最好的管理方式)。 我想維護一個當前的源代碼索引,以便它們可以被搜索到。 檔案的歷史版本是不需要的。
為了避免洗掉/添加程序中索引的無限增長,我想把索引分成幾塊(磁區)來管理。 攝取程序將在重新索引專案之前丟棄與該專案對應的塊。 在重新索引的程序中,資料的短暫缺失是可以容忍的。
當我執行查詢時,我需要擊中所有的塊。 索引的管理是我最關心的問題,而性能則不太關心。
我可以想象,這可能有兩種作業方式:
。
- 分割一個索引。 洗掉一個磁區,然后重建它。
- 一個元索引。
- 一個元索引。 每個專案將作為一個單獨的索引被創建,但是某種 "元 "結構將允許在一個單一的操作中查詢所有的專案。
從我所讀到的內容來看,這似乎不是翻轉索引的候選物件。
有超過1000個專案。 在執行查詢時指定一個專案串列是不切實際的。
是否可以對專案進行磁區?
是否有可能對一個索引進行磁區,以便我可以在命名的小塊中管理(放棄和重新索引)它,同時保持將其作為一個單一的統一索引進行查詢的能力?
uj5u.com熱心網友回復:
是的,你可以使用aliases實作這一點。
假設你在索引 "project-1 "中擁有 "舊 "版本的專案資料,該索引也有一個別名 "project"。 然后你在索引 "project-2 "中索引 "新 "版本的專案資料。 所有的查詢都是在別名 "project "上進行的,而不是直接查詢該索引。
因此,當你完成對新版本資料的重新索引時,你可以簡單地將別名從 "project-1 "切換到 "project-2"。您的查詢服務不會中斷。
就這樣。
就這樣!
POST _aliases
{
"行動"。[
{
"添加"。{
"索引": "project-1",
"別名": "專案"
}
},
{
"洗掉"。{
"索引": "project-2",
"別名": "專案"
}
}
]
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/315189.html
標籤:
