如何使用Solr子查询simillar到rdbms子查询?

时间:2015-05-28 05:11:05

标签: solr subquery solr-query-syntax

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

在RDBMS SQL中这样的事情:

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

有没有办法做到这一点是Solr?

3 个答案:

答案 0 :(得分:0)

是的,有可能。请查看此link。此外,您使用的版本也有所不同,因为它们是在Solr4.0中引入的

答案 1 :(得分:0)

你可以尝试过滤,就像这样..

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

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

q=(movie:name AND writer:Writer_name AND producer:Producer_name)

答案 2 :(得分:0)

解决。
这可以使用" join"在Solr。
以下是我回答的例子的解决方案:

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

还可以添加过滤器查询。此过滤器将影响加入和查询的结果 感谢Ramzy。