Solr重新索引行为

时间:2017-03-16 23:11:18

标签: solr reindex

我是Solr的新手,我试图了解它在重新索引期间的行为。 我有一个批处理进程运行,它从关系表中选择数据并将其添加到Solr索引。

根据我对Solr的理解,有两种情况需要进行重新索引

案例1:当新行插入表中时(源数据)  情况2:当任何列类型更改时,您必须相应地更改架构。

在重新索引发生时,用户要搜索的旧数据是否仍然可用于案例1?

在架构更改期间会发生什么,因为旧数据将不再与新架构匹配?用户在执行搜索时会遇到什么样的行为?

我在网上找不到这些问题的明确答案。任何澄清都表示赞赏。

1 个答案:

答案 0 :(得分:0)

案例1. Solr将文档标记为已删除,但它保留在索引中,它添加了一个具有相同文档ID的新文档。所以,是的,在提交新文档之前,数据是可用的。

案例2.如果更新架构,旧数据中的文档仍然可用,但任何已删除的字段都将不可见,并且将丢失任何新字段。如果你考虑一下,索引字段只是一系列标记,所以这些字段仍然是可搜索的,但新查询分析中的不一致性和索引中的标记会产生令人惊讶的结果,评分也可能受到影响。基本上你的结果可能不一致。

举一个例子:假设你对一个单词进行语音过滤: Fox 并生成令牌: fux | foks 在您的索引中。

然后删除拼音过滤器并输入 fox - 与索引中的内容不匹配。

假设您有另一个带有Porter Stemmer的字段:索引一词源于: index

删除PorterStemmer:索引仍然匹配,索引赢了