SOLR自定义存储和索引元数据的原子更新清除全文索引

时间:2017-03-06 09:31:18

标签: indexing solr lucene full-text-search atomic

我使用bin / post来索引/ documents(已装载卷)中的所有文件。它的工作原理和全文搜索工作正常。

我为发布所有文档之前添加到架构的特定元数据进行了原子更新,它也有效。

我进行全文搜索以找回已更新元数据的文档,它已经开始工作,更新已经存在,但似乎全文索引已经消失。

我执行完整的重新索引,然后它会覆盖我添加的文档元数据,将其重置为默认值。虽然我添加的元数据字段都存储和索引。

不确定该怎么做。这意味着每次重建索引都会重置我添加的元数据......不是很好

1 个答案:

答案 0 :(得分:0)

更新 - 在引擎盖下 - 从存储的字段重建文档,应用更改并将它们放回磁盘。在Lucene级别上,没有"文档更新",它是更高级别的概念。这就是搜索索引在这种架构中保持快速的方式。

因此,未存储的全文字段不会显示在重建的文档中,也不会再次存储在更新的文档中#34;。

如果您混合使用存储和非存储字段,则必须将Solr之外的更新与原始完整内容合并。

或者,根据您的使用情况,如果您只是返回这些更新值,则可以使用自定义SearchComponent注入它们,使用ExternalFileField或类似方法。用户邮件列表可能是询问各种可能选项的好地方。