2

FluentCassandra と C# 経由で Cassandra 1.2 にアクセスしています。DataStax インストール パッケージを使用しました。私が抱えている問題は、以下に示す範囲クエリを実行できないことです。

次のテーブル作成方法を試しました:

CREATE TABLE Test (KEY text, p1 int, p2 int, p3 int, p4 int, p5 int, p6 int, 
p7 int, p8 int, data text, PRIMARY KEY (KEY))

CREATE TABLE Test (KEY text, p1 int, p2 int, p3 int, p4 int, p5 int, p6 int, 
p7 int, p8 int, data text, PRIMARY KEY (KEY, p1, p2, p3, p4, p5, p6, p7, p8))

クエリは次のとおりです。

SELECT Data FROM Test WHERE KEY IN ('           0', '           1', 
'           2', '           3', '           4', '           5', '           6', 
'           7', '           8', '           9', '          10', '          11', 
'          12', '          13', '          14', '          15') AND 
p1 >= 10 AND p1 <= 40 AND p2 >= 20 AND p2 <= 80 AND 
p3 >= 30 AND p3 <= 120 AND p4 >= 40 AND p4 <= 160 AND 
p5 >= 50 AND p5 <= 200 AND p6 >= 60 AND p6 <= 240 AND 
p7 >= 70 AND p7 <= 280 AND p8 >= 80 AND p8 <= 320;

エラーは次のとおりです。

「Equal 演算子を使用した by-columns 句にインデックス付きの列が存在しません」/「PRIMARY KEY 部分 p2 を制限できません (前の部分 p1 は制限されていないか、非 EQ 関係によるものです)」

私の ConnectionBuilder:

ConnectionBuilder builder = new ConnectionBuilder(CDBkeyspace, 
new Server("localhost"), true, 0, 100, 0, ConnectionType.Framed, 4096, 
ConsistencyLevel.QUORUM, Apache.Cassandra.ConsistencyLevel.QUORUM, "3.0.0");

どうすればいいですか?

4

1 に答える 1

4

エラーとして、P1 に EQUAL 演算子がない限り、P2 を制限することはできません 指定した最後のパラメータまですべてのパラメータが等しい必要があり、最後のパラメータのみが不等値を持つことができます

于 2012-09-28T10:21:35.117 に答える