0

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 ビット

4

2 に答える 2

1

行制限を増やします。

.setRowLimit(100)
于 2013-03-07T21:05:19.573 に答える