Astyanax クライアントを使用して、Cassandra 列ファミリーからデータを読み取っています。私の要件は、astyanax を介して列ファミリーのセカンダリ インデックス列に対してクエリを実行することです。astyanax の Web サイトから、インデックス列の式を使用して Cassandra からデータを読み取る例をいくつか見つけることができました。例を使用して独自のコードを記述しました。
OperationResult<Rows<String, String>> result = null;
IndexQuery<String, String> query = keyspace.prepareQuery("ColumnFamilyName").searchWithIndex().setRowLimit(100).autoPaginateRows(true).addExpression().whereColumn("ColumnNameWhichHasSecondaryIndex").equals().value("value");
result = query.execute();
for(Row<String, String> row : result.getResult()) {
...
}
これは、このコードの実行中に直面している問題です。列ファミリーにはクエリ条件を満たす行が数千あるのに、100 行しか返されないということです。
問題に対処するための適切な API/パターンが見つかりません。この問題について誰か教えてください。
Astanax バージョン: 1.56.24 Apache Cassandra バージョン: 1.1.8 Jdk バージョン: 1.7 プラットフォーム: Rhel 5.4 32 ビット