1, solr
合併索引資料有兩種方法,第一種是
1.4版本中引入的,通過
coreadminhandler
來實現,示例如下:
上述命令會將
core1
和core2
的索引合併到
core0
中去,這裡最值得注意的一點是:一旦合併完成,必須在
core0
上呼叫commit
操作,否則索引資料的變化對於
searchers
來說是暫時不可見的,只有等到下次
core0
重新裝載起來時才可見。
實現**如下:
/**
* 合併索引資料
* @param otherindexpathlist 其他待合併的索引資料路徑
* @param corename 合併的目標solr核名稱
//commit操作讓合併後的索引對搜尋生效
第二種方法是solr3.3中引入的,也是通過coreadminhandler來實現,示例如下:
同第一種方法一樣,一旦合併完成,必須在core0上呼叫commit操作,否則索引資料的變化對於searchers來說是暫時不可見的,只有等到下次core0重新裝載起來時才可見。
使用」srccore」和」indexdir」這兩種方法的區別:
1) 使用」indexdir」引數,你可以合併不是與solr核相關聯的索引資料,比如通過lucene直接建立的索引
2) 使用」indexdir」引數,你必須注意索引資料不是直接寫入的,這就意味著如果它是乙個solr核的索引,必須要關閉indexwriter,這樣才能觸發乙個commit命令。
3) 「indexdir」必須指向solr核所在的主機上的磁碟路徑,這就限制比較多了,而相反,你可以只給srccore乙個solr核的名稱,而不關心它的實際索引路徑在哪。
4) 使用」srccore」,你必須確保即使源索引資料同時存在寫操作的時候,合併後的索引頁不會損壞。
每日學習筆記 20
1,solr 合併索引資料有兩種方法,第一種是 1.4版本中引入的,通過 coreadminhandler 來實現,示例如下 上述命令會將 core1 和core2 的索引合併到 core0 中去,這裡最值得注意的一點是 一旦合併完成,必須在 core0 上呼叫commit 操作,否則索引資料的變化...
每日學習筆記 3
1,先說說今天體會最深刻的一點 寫 python 乙個好的編輯器至關重要,這其中 vim確實是最佳選擇。由於 python 是根據縮進來判斷上下文的,因此 tab和空格使用不當會害死你的。一段 在 notepad 裡看起來對齊格式沒問題,可就是死活編譯不過,來到 vim下一看,damn it,格式是...
每日學習筆記 15
今天接著讀 mysql技術內幕innodb儲存引擎 的第5章關於索引這部分內容。什麼時候使用b 樹索引?並不是在所有的查詢條件下出現的列都需要新增索引,作者指出當訪問表中很少一部分行時,使用b 樹索引才有意義。對於像性別,地區,型別等字段,它們的可取值範圍很小,即所謂低選擇性,比如select fr...