在solr中加入三个表

时间:2016-08-02 04:02:28

标签: join solr cassandra datastax

我正在尝试使用Solr加入三个cassandra表。根据datastax文档,

  

DataStax Enterprise 4.0.2及更高版本支持OS Solr查询时间   通过自定义实现加入。您可以加入Solr文档,   包括在这些条件下具有不同Solr核心的那些:

     
      
  • Solr核心需要具有相同的密钥空间和相同的Cassandra分区密钥。
  •   
  • 支持Solr核心的Cassandra表必须与Thrift或CQL兼容。你不能拥有一个   这是与Thift兼容的,与CQL兼容的。
  •   
  • 唯一键的类型(分区键的Cassandra键验证器)是相同的。
  •   
  • 表分区键和架构唯一键的顺序相同。
  •   

我可以根据文档加入两个表。我想知道我是否可以加入满足条件的三张桌子。无法找到有关加入两个以上表格的任何文档。我迫切需要加入三张桌子。我真的可能或者现在应该放弃这个想法吗?

1 个答案:

答案 0 :(得分:0)

我需要的是递归连接。从与上例相同的文档中,我可以找到这个例子:

Use a nested join query to recursively join the songs and lyrics documents with the videos document, and to select the song that mentions love and also won a video award.



 http://localhost:8983/solr/internet.songs/select/?q=
                 {!join+fromIndex=internet.lyrics}words:love AND _query_:
                 {!join+fromIndex=internet.videos}award:true&indent=true&wt=json


Output is:

    "response":{"numFound":1,"start":0,"docs":[
        {
          "song":"a3e64f8f-bd44-4f28-b8d9-6938726e34d4",
          "title":"Dangerous",
          "artist":"Big Data"}]
    }}