SOLR折叠字段 - 范围过滤器MIN

时间:2017-05-04 18:32:50

标签: solr lucene fieldcollapsing

我遇到SOLR崩溃问题我无法移动。

假设文件

{ id: 1, parent_id: x, value: 3 },
{ id: 2, parent_id: y, value: 5 },
{ id: 3, parent_id: x, value: 7 },
{ id: 4, parent_id: y, value: 10 }

现在让我们说我要在parent_id和最小值doc:

上折叠

{!collapse field=parent_id min=value }

我从SOLR得到的是预期的:

GROUP x: { id: 1, parent_id: x, value: 3 },
GROUP y: { id: 2, parent_id: y, value: 5 }

但是,我想说我想获得最小值为4的结果,所以我应用了一个过滤器。

{!collapse field=parent_id min=value } {value:[4 TO *]}

我得到的是可以理解的,但不完全是我想要的:

GROUP x: { id: 3, parent_id: x, value: 7 },
GROUP y: { id: 2, parent_id: y, value: 5 }

因此结果被过滤然后在parent_id上折叠并且选择了最小值但我真正想要的只是获得MINIMUM值在该范围内的那些组:

GROUP y: { id: 2, parent_id: y, value: 5 }
GROUP x is not in result as minimum value is 3

如果我从文档中正确理解 - 在请求之后发生了折叠,但是有什么方法可以检索我正在尝试的内容吗?

非常感谢

1 个答案:

答案 0 :(得分:1)

正如您所说,首先运行另一个查询,然后折叠过滤后运行。

我会尝试使用Streaming Expressions,你应该能够:

  • group by parent_id
  • 取最小值
  • 过滤值>>的元组。你的范围

看看你在上面的页面中可以做的事情