在太阳黑子的documentation上,它说:
如果您对对象的“架构”(可搜索块中的代码)进行了更改,则必须重新索引所有对象,以便更改反映在Solr中
如果不遵循此程序会怎样?
具体来说,我在Websolr上有一个相当大的索引,如果我只是添加一个布尔字段而不重新索引,会发生什么?
我希望能够按布尔字段的true
值进行过滤,但我永远不需要按false
或nil
值进行过滤。这是否有效,或者必须始终遵守这种重新索引的忠告?
答案 0 :(得分:3)
在您的情况下,如果您添加字段并且不对数据编制索引,它仍然有效 但是,现有数据不具有该字段的值 只插入新文件会有值 您肯定可以根据值过滤文档,现有文档的字段值为零。
通常取决于你改变了什么。
如果更改字段类型的查询时间分析,则不需要重新索引。 简单的重启或核心重新加载对您有用。
如果您想要所有文档的字段值,架构中的更改将需要集合的重新索引
如果更改字段类型,则需要重新索引内容,因为在索引时对字段类型的分析会有所不同。
如果您没有重新索引查询时间,则为该字段执行的分析将与索引的分析不同,并且不会找到任何匹配项。