【问题标题】:How to filter results based on order in Solr?如何根据 Solr 中的顺序过滤结果?
【发布时间】:2011-01-01 03:38:21
【问题描述】:

我需要在 n 个被选中的文档中分面

... ORDER BY something DESC LIMIT 100

Solr 有可能吗?怎么样?

【问题讨论】:

标签: sorting solr filtering facet


【解决方案1】:

这是一个彻底的黑客攻击,但是这里......

  1. 进行初始查询,然后返回结果。
  2. 构造一个新查询,如下所示:

http://localhost:8080/solr/select/?q=id%3A123+OR+id%3A456...(keep OR-ing 他们)...&facet=true&facet.field=something

使用 OR 将所有 ID 连接到一个新查询。那么,当你在你的领域进行分面时,分面摘要将仅适用于结果。

【讨论】:

  • 嗯,是的,但这不是一个很好的解决方案,例如获得前 10000 名:)
【解决方案2】:

AFAIK 不,不支持/实施。 Facets 并不是真正意义上的“统计数据”,而是对最终用户的指导。想象一下自己浏览分面界面,并在更改排序顺序或分页时看到分面发生变化。如果这样工作,分面浏览将毫无用处。

我认为这对StatsComponent 来说是一个不错的功能。

【讨论】:

  • 是的,我同意,这将是一个不错的功能,以及百分位数计算。
【解决方案3】:

我认为这可以通过结果分组(现在在主干!):

http://wiki.apache.org/solr/FieldCollapsing

...唯一的问题是你只能设置一个'facet.field'(即group.field)

但最棒的是你可以得到分数!

【讨论】:

    猜你喜欢
    • 2018-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多