我需要在Solr中運行包含另一個查詢作爲主查詢條款的查詢!如何將Solr子查詢simillar用於rdbms子查詢?
財產以後這樣的RDBMS中的SQL:
select name from movie
where movie.writer in (
select director from movie where producer = 'XXX'
)
有沒有辦法做到這一點是Solr的?
我需要在Solr中運行包含另一個查詢作爲主查詢條款的查詢!如何將Solr子查詢simillar用於rdbms子查詢?
財產以後這樣的RDBMS中的SQL:
select name from movie
where movie.writer in (
select director from movie where producer = 'XXX'
)
有沒有辦法做到這一點是Solr的?
是的,這是可能的。請看看這個link。此外,您使用的也是版本有差別,因爲它們是在Solr4.0
介紹你可以嘗試過濾器,這樣的事情..
q=movie:name
fq=(writer:writer_name AND producer:Producer_name)
也是你放入Solr的數據指數是平坦的或非正規化的。 因此,請將suquery字段值放入查詢的AND部分並將其放入Solr。
q=(movie:name AND writer:Writer_name AND producer:Producer_name)
已解決。
這可以使用Solr中的「連接」。
以下是我的回答例如解決方案:
fl=name&
q={!join from=writer to=director}+producer:XXX
也可以添加過濾器查詢。此過濾器將影響連接和查詢的結果。
感謝Ramzy。
感謝您的快速響應。我之前在Solr中檢查過「加入」,但我認爲這不能像子查詢那樣工作。我試過了(在Solr 5上)並且出錯了。我的字段(從和到)是字符串。 – Nazanin
此外,我需要運行一個「查詢」來獲取內部列表(請注意示例「其中producer =」XXX「) – Nazanin
感謝您的回答。我在您的幫助下找到了我的解決方案 – Nazanin