2017-05-07 1 views
1

私は、JSON形式の列(UDT - ユーザー定義型)のフィールドでフィルタリング( 'where'節を記述)するのに役立つクエリパーサを探しています。私はDBとSolrとしてCassandraを使用しています。 SolrとCassandraを統合するのは難しいことです。私はDataStax Searchをオプションとして見つけましたが、Windows OSをサポートしていないようです。もし誰かが良い選択肢を提案できれば素晴らしいだろう。Cassandraのクエリーパーサー

編集:それは単純に理解できるようにする例: 私はテーブルで使用されている次のサンプルUDTを持っている:

は、TYPEのtest.phone( コードint型、 番号テキスト )を作成します。

は表test.info( ID INT PRIMARY KEY、 接触電話、 ....)を作成します。

選択は次のように行うことができます。 SELECT contact.code FROM info;

ただし、UDTのフィールドを使用したフィルタリングはできません。 SELECT * FROM info WHERE contact.code = 91;

上記を達成するために、私はクエリパーサーをインストールしましたが、カッサンドラとの統合に問題があります。私は代替案を探しています。

+0

私もSolandraを試しました。しかし、適切なインストールガイドはありません。私はJavaプログラマーではないので、それを設定するのが苦労しています。 – Shilpa

+0

SASIIndex http://docs.datastax.com/en/cql/3.3/cql/cql_using/useSASIIndex.html –

+0

@AshrafulIslamを確認できます。ご意見ありがとうございます。しかし、私はUDTs - User Defined Typesでフィルタリングするソリューションを探しています。このリンクは、ユーザー定義型ではない非プライマリ列の操作に関するものです。 – Shilpa

答えて

0

私はCassandra-lucene-indexに出くわしました。これは、UDTを正確に予想どおりにフィルターにかけることができます。それはWindows OSにインストールすることができ、非常に使いやすいです。

https://github.com/Stratio/cassandra-lucene-index からダウンロードできます。バージョンは、システムにすでにインストールされているCassandraのバージョンとまったく同じです。 JARファイルは$ Cassandra_HOME/libフォルダに置かれます。 Cassandraを再起動して起動し、動作を開始します。 https://github.com/Stratio/cassandra-lucene-index/blob/branch-3.0.13/doc/documentation.rst

編集:

また、インストールおよび照会のための良いドキュメントを持っている私はもうSolrのを必要としません。