2016-08-02 3 views
0

Я пытаюсь объединить три таблицы кассандры, используя Solr. Согласно datastax документации,Объединение трех таблиц в solr

DataStax Enterprise 4.0.2 и более поздние версии поддерживают время запроса OS Solr присоединиться через пользовательскую реализацию. Вы можете присоединиться к Solr документы, в том числе с различными ядрами Solr в этих условиях:

  • Solr ядра должны иметь один и тот же и пространство ключей и тот же ключ раздела Кассандру.
  • Обе таблицы Cassandra, которые поддерживают соединяемые ядра Solr, должны быть либо Trrift, либо CQL-совместимыми. У вас не может быть , совместимый с Thift, и совместимый с CQL.
  • Тип уникального ключа (ключевой валидатор ключа Cassandra ключа раздела) одинаковый.
  • Порядок ключей разделов таблицы и уникальных ключей схемы одинаковый.

Я мог бы присоединиться к двум таблицам в соответствии с документацией. Мне было интересно, могу ли я объединить три таблицы вместе, удовлетворяя условиям. Не удалось найти документацию о подключении более двух таблиц. Мне отчаянно нужно присоединиться к трем столам. Действительно ли это возможно, или я должен отказаться от этой идеи прямо сейчас?

ответ

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"}] 
    }} 
Смежные вопросы