Solr 4.0通过_version_查询和过滤

时间:2012-12-24 09:14:48

标签: solr solrj

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

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

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

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

1 个答案:

答案 0 :(得分:2)

有关_version_字段的详细信息:

  • _version_由Solr内部使用/控制
  • 只要文档中发生任何字段值更新,
  • _version_字段值就会自动增加。因此,索引中只存在一个更新的文档
  • 发布搜索查询时,Solr默认返回更新的文档版本

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

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

注意:部件引用尚未按照wiki提交

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