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");
どうすればいいですか?