我正在尝试使用Solr索引和搜索一堆丰富的文档(MS Word,PDF等)。由于文档可能会由于有人编辑或创建新文档而发生更改,因此我正在寻找一种仅更新/索引已修改/新文档的方法,而不必再次为所有文档重新编制索引。
现在我有三个想法如何做到这一点,但是不确定它们是否会真正起作用,或者是否有更好的选择。
使用更新请求处理器(this)“如果传入文档不符合某些条件,则删除更新”,以便如果文档的上次修改日期未更改,则更新不应该做。只有我不确定是否可以将传入的文档与索引中的文档进行比较。
使用外部文件字段(https://lucene.apache.org/solr/guide/7_7/update-request-processors.html#urp-anatomy-and-lifecycle)存储每个文档的上次修改日期,然后使用该日期检查修改日期是否已更改。
我也在使用SolrJ,因此可以选择为此编写Java代码并比较所有文件的修改日期,然后仅索引满足条件的特定文件(它们在上次更新中已更改)< / p>
我的问题是,这些选项中的哪一个甚至是可能的,这是否有意义,有没有更好的方法?