我需要在 Solr 中运行一个查询,其中包含另一个查询作为主查询的术语!
在 RDBMS SQL 中是这样的:
select name from movie
where movie.writer in (
select director from movie where producer = 'XXX'
)
Solr有什么办法吗?
我需要在 Solr 中运行一个查询,其中包含另一个查询作为主查询的术语!
在 RDBMS SQL 中是这样的:
select name from movie
where movie.writer in (
select director from movie where producer = 'XXX'
)
Solr有什么办法吗?
解决了。
这可以在 Solr 中使用“join”。
以下是我回答的示例的解决方案:
fl=name&
q={!join from=writer to=director}+producer:XXX
还可以添加过滤器查询。这个过滤器会影响连接和查询的结果。
感谢拉姆齐。
你可以试试过滤器,像这样的东西..
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)