我需要在Solr中运行一个包含另一个查询的查询作为主查询的术语!
在RDBMS SQL中这样的事情:
select name from movie
where movie.writer in (
select director from movie where producer = 'XXX'
)
有没有办法做到这一点是Solr?
答案 0 :(得分: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。