【问题标题】:Solr query results with mixed types混合类型的 Solr 查询结果
【发布时间】:2018-02-07 00:44:48
【问题描述】:

我们正在使用 Solr 6.6,并且我们的索引中有两种不同类型的文档:bookmovie。我想运行一个搜索,每页返回 10 个结果。前 3 个结果应匹配 book docs,后 7 个结果应匹配 movie docs。然后在第 2 页上将有 3 个 book 文档和 7 个 movie 文档。

有谁知道 Solr 查询是否可以实现这样的事情?我试图避免 2 个单独的查询,一个用于每页 3 个 books,1 个用于每页 7 个 movies。因此,在单个查询中执行此操作将是理想的。

【问题讨论】:

    标签: search solr facet solrcloud


    【解决方案1】:

    我们假设您有一些“类型”字段来说明文档是电影还是书籍。鉴于:

    • 你真正想要的是diversity in results。这是针对 Lucene 的,不幸的是,上面还没有 Solr 层可以利用。
    • 所以你的下一个最好的事情是Grouping,通过要求比你需要的更多的文档,然后按类型分组,并希望每个组中至少有 3 本书和 7 部电影(你可能没有)。如果您错过了一些书籍或电影,您可以随时退回到第二个查询。它可能会正常工作。

    【讨论】:

    • 是的,我有一个type 字段。我研究过分组。我看到了group.limit 设置,但这似乎会为每种类型提取相同数量的文档(即 5 个books 和 5 个movies)。有没有办法指定一种类型的 3 个和另一种类型的 7 个?
    • 不,只要求 7 然后在客户端过滤到 3 本书
    • 这适用于结果的第一页,但在那之后,偏移量将不正确。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多