我正在尝试使用Solr加入三个cassandra表。根据datastax文档,
DataStax Enterprise 4.0.2及更高版本支持OS Solr查询时间 通过自定义实现加入。您可以加入Solr文档, 包括在这些条件下具有不同Solr核心的那些:
- Solr核心需要具有相同的密钥空间和相同的Cassandra分区密钥。
- 支持Solr核心的Cassandra表必须与Thrift或CQL兼容。你不能拥有一个 这是与Thift兼容的,与CQL兼容的。
- 唯一键的类型(分区键的Cassandra键验证器)是相同的。
- 表分区键和架构唯一键的顺序相同。
我可以根据文档加入两个表。我想知道我是否可以加入满足条件的三张桌子。无法找到有关加入两个以上表格的任何文档。我迫切需要加入三张桌子。我真的可能或者现在应该放弃这个想法吗?
答案 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"}]
}}