Solr:嵌套查询引用自身

时间:2016-09-09 19:24:53

标签: 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个查询之间的区别(做一个单独的名称:每个文档的“值”~1个查询),我想避免这种情况!

1 个答案:

答案 0 :(得分:0)

这并不是Solr的最佳用途。也许最初的用例可以用不同的方式更好地实现。

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

中找到