首页 文章

Solr重新索引行为

提问于
浏览
0

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

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

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

案例1中的旧数据是否仍然可用,以便用户在重新索引发生时进行搜索?

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

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

1 回答

  • 0

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

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

    举一个例子:假设你对一个单词进行语音过滤:Fox并生成标记:fux |你的索引中的foks .

    然后删除语音过滤器并键入fox - 将不会与索引中的内容匹配 .

    假设你有另一个带有Porter Stemmer的字段:indexed这个术语被认为是:index

    你删除了PorterStemmer:索引仍然匹配,索引不会 .

相关问题