1

我有一个使用 Solrj 每隔几个小时更新一次的索引。该更新包含新的文档,并且还更新了索引中的删除文档。有些根本不会更新(考虑在更新后删除)。

在每次更新中,我想更改所有已更新文档中的版本字段。目前我正在使用:

<field name="_version_" type="long" indexed="true" stored="true" />

问题是每个 Doc 都获得了其创建的 unix 时间。有没有办法自动增加所有新/更新文档的版本字段,并按最新版本过滤搜索查询中的结果?

4

1 回答 1

2

关于_version_字段的详细信息:

  • _version_由 Solr 在内部使用/控制
  • _version_每当文档发生任何字段值更新时,字段值都会自动递增。所以索引中只存在一个更新的文档
  • 发出搜索查询时,Solr 默认返回更新的文档版本

Realtime获取处理程序并updateLog定义时需要此字段。

我希望它能解释并提供方向。

注意:部分参考尚未根据 wiki 提交

如果您想明确处理“部件引用”,请参阅 Solr wiki Update Semantics

于 2012-12-25T07:11:57.993 回答