0

我正在尝试在 Solr4 中设置文档创建日期。

    <field name="timestamp" type="date" indexed="true" stored="true" default="NOW" multiValued="false"/>

我的架构有未注释的标准时间戳字段,它工作得很好,因为我可以获得最后一次索引该文档的时间(我们每周对文档进行 3 次完整更新),所以我可以说“上次索引 3 天前”。

问题是因为我通过 csv 索引完整文档,它会用每个新索引覆盖这个时间戳。

如何构建模式以便我可以执行以下操作。

  1. 以某种方式存储文档首次更新的日期?
  2. 每次索引它时存储日期(我想我可以复制时间戳文件做一个多值的新字段,不确定这是否有效)。

最重要的问题是设置一个创建的日期值/字段,每次我索引该文档时都不会被覆盖或删除。

4

1 回答 1

1

看一下 TimestampUpdateProcessor:

http://lucene.apache.org/solr/4_4_0/solr-core/org/apache/solr/update/processor/TimestampUpdateProcessorFactory.html

根据javadocs:

一个更新处理器,它将新生成的日期值“NOW”添加到正在添加的任何指定字段中尚无值的文档。

于 2013-08-05T22:07:48.130 回答