【问题标题】:Solr: nested query referencing itselfSolr:嵌套查询引用自身
【发布时间】:2016-09-11 12:07:27
【问题描述】:

我是 Solr 的新手,我一直在寻找这个答案,但没有完全找到它......如果已经有答案,请分享!

简要说明我要做什么的最简单方法:

SELECT a.id, a.name, (SELECT b.id, b.name) AS rel
FROM table_a AS a
JOIN table_b AS b ON b.name LIKE a.name;

简单易懂。

所以,假设我有这三个文件:

{ id : 1, name : "Robert" }
{ id : 2, name : "Jeffrey" }
{ id : 3, name : "Rob" }

我正在寻找的是这样的结果:

[
    {
       id : 1,
       name : "Robert",
       rel : {
           id : 3,
           name : "Rob"
       }
    },
    {
       id : 3,
       name : "Rob",
       rel : {
           id : 1,
           name : "Robert"
       }
    }
]

我将在另一个字段上订购以消除冗余,但我相信你明白了......除非 Solr 已经内置了一种方法来做到这一点?

我见过一些嵌套查询的示例,但每个示例都有硬编码的值 - 我需要嵌套查询根据父文档的字段值为每个文档查找相关文档。

什么是神奇的词?就我而言,这将是 1 个查询和 20,000 + 个查询之间的区别(对每个文档执行单独的 name:"value"~1 查询),我想避免这种情况!

【问题讨论】:

    标签: solr


    【解决方案1】:

    感觉这不是 Solr 的最佳用途。也许原始用例可以通过不同的方式更好地实现。

    最近的可用方法可能是[subquery] document transformer。它在 6.2 Solr 中可用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-22
      • 2016-04-23
      • 2022-11-07
      • 1970-01-01
      • 2012-08-23
      • 1970-01-01
      相关资源
      最近更新 更多