每日學習筆記 20

2021-09-07 23:53:03 字數 2561 閱讀 8210

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」

,你必須確保即使源索引資料同時存在寫操作的時候,合併後的索引頁不會損壞。

2,   solr

索引合併的時候,底層其實呼叫的還是

lucene

,因此你

schema.xml

中配置的

uniquekeys

它並不知道,因此當你對兩個包含相同文件(由

uniquekey

確定)的索引進行合併時,你會得到雙倍的文件數,

solr

這個地方應該改下,畢竟你不是簡單的

lucene

包裝嘛。。。

每日學習筆記 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...