2012-09-13 18 views
1

documentation的黑子,它說:太陽黑子Solr:是否可以添加一個字段而不重新索引所有行?

如果你改變對象的「模式」(在搜索塊碼),則必須重新編制所有對象,因此該變化反映在Solr的

如果不遵循此程序會發生什麼情況?

具體來說,我在Websolr上有一個相當大的索引,如果我只是添加一個布爾型的字段而沒有重新索引,會發生什麼?

我希望能夠通過true過濾布爾值字段的值,但我永遠不需要通過falsenil值進行過濾。這是否會奏效,還是必須遵守重新索引的警告?

回答

3

在你的情況下,如果你添加字段並且不索引數據,它仍然可以工作。
但是,現有數據對於該字段沒有價值。
只有插入的新文檔纔會有值。
您肯定可以根據這些值對文檔進行過濾,並且現有文檔對該字段沒有任何價值。

通常這取決於你改變什麼。

如果更改字段類型的查詢時間分析,則不需要重新索引。 簡單的重新啓動或核心重新加載將適用於您。

如果您想要所有文檔的字段值,則模式更改需要集合的重新索引。
如果您更改字段類型,則需要重新索引內容,因爲在索引時分析字段的類型會有所不同。
如果您沒有重新索引,則對該字段執行的查詢時間分析將與索引的分析不同,並且不會找到匹配項。

+0

什麼時候重新索引是一個很好的通用答案。 –

相關問題