3

我需要在 Solr 中运行一个查询,其中包含另一个查询作为主查询的术语!

在 RDBMS SQL 中是这样的:

select name from movie
where movie.writer in (
    select director from movie where producer = 'XXX'
)

Solr有什么办法吗?

4

2 回答 2

1

解决了。
这可以在 Solr 中使用“join”。
以下是我回答的示例的解决方案:

fl=name&  
q={!join from=writer to=director}+producer:XXX

还可以添加过滤器查询。这个过滤器会影响连接和查询的结果。
感谢拉姆齐。

于 2015-05-30T05:41:54.080 回答
0

你可以试试过滤器,像这样的东西..

q=movie:name
fq=(writer:writer_name AND producer:Producer_name)

您放入 Solr 索引的数据也是平坦的或非规范化的。因此,获取 suquery 字段值并将它们放在 Solr 查询的 AND 部分中。

q=(movie:name AND writer:Writer_name AND producer:Producer_name)
于 2015-05-28T06:25:55.997 回答