2016-08-22 4 views
0

Kürzlich arbeite ich mit auf einer Cassandra-Datenbank-Projekt, in dem ich Solr mit DSE für die partielle Suche verwenden.Solr Abfrage für zwei Tabellen in Datastax DSE

Ich lese in einigen Dokumenten über Join-Abfrage mit Solr, aber nicht in der Lage, eine klare Idee zu bekommen. Kann mir jemand sagen: - Das Verbinden von zwei Tabellen für ein einzelnes Zeilenergebnis ist mit Solr in DSE möglich oder nicht.

Wenn es möglich ist dann bitte geben Sie mir ein Beispiel. und wenn nicht möglich, was wird dann die alternative Methode sein, Datastax beizutreten.

Antwort

0

Joins in Datastax Search oder Spark fallen in einige sehr strenge Grenzen.

DataStax Enterprise 4.0.2 und höher unterstützt die OS Solr-Abfragezeit beitreten durch eine benutzerdefinierte Implementierung.

  • Solr Kerne müssen den gleichen Schlüsselraum und gleiche Cassandra Partition Schlüssel haben: Sie können Solr Dokumente, einschließlich solchen mit unterschiedlichen Solr Kerne unter diesen Bedingungen beizutreten.
  • Beide Cassandra-Tabellen, die die zu verknüpfenden Solr-Kerne unterstützen, müssen entweder Thrift- oder CQL-kompatibel sein. Sie können nicht eine haben, die Thift-kompatibel ist und eine, die CQL-kompatibel ist.
  • Der Typ des eindeutigen Schlüssels (Cassandra-Schlüssel-Validierer des Partitionsschlüssels) ist identisch.
  • Die Reihenfolge der Tabellenpartitionierungsschlüssel und des Schemas eindeutig Schlüssel sind identisch.

Vorausgesetzt, alles, was wahr ist, dann ist hier ein Beispiel, wie beitreten:

http://localhost:8983/solr/keyspace.solr_table1/select/?q={!join+fromIndex=keyspace.solr_table2}key:value