【发布时间】:2012-02-03 19:08:50
【问题描述】:
我有一个带有版本控制的 Solr 架构。 ID 包含版本号,因此现有文档保持为新的索引。示例内容:
id = foo1
name = foo
version = 1
data = x
id = foo2
name = foo
version = 2
data = y
id = bar1
name = bar
version = 1
data = x
有两种不同的搜索方案:搜索所有版本或仅搜索最新版本。第一个是微不足道的,但是如何在data 字段中仅搜索每个name 的最新版本?在上面的示例中,我希望最近搜索“x”,并希望只找到“bar1”。
我希望使用http://wiki.apache.org/solr/FieldCollapsing 找到解决方案,但如果我使用group.field=name 搜索“x”,Solr 将在搜索后进行分组,为我提供上述两个名称的版本1。我需要它更像一个过滤器查询。
【问题讨论】:
-
那么你是说如果你搜索“x”你应该得到一个 id="foo2" 的结果?
-
不,你应该得到 bar1 而不是 foo1。
-
找到了一个新的邮件列表线程,其案例几乎相同:mail-archives.apache.org/mod_mbox/lucene-solr-user/201110.mbox/…
标签: solr fieldcollapsing