我是索尔的新人,我一直在寻找这个答案,但却找不到它......如果已有答案请分享!
最简单的解释我的目的的方法,简而言之:
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个查询),我想避免这种情况!
答案 0 :(得分:0)
这并不是Solr的最佳用途。也许最初的用例可以用不同的方式更好地实现。
最近的可用方法可能是[subquery] document transformer。它可以在6.2 Solr。
中找到