2013-03-07 3 views
0

Astyanax 클라이언트를 사용하여 Cassandra 열 패밀리의 데이터를 읽습니다. 내 요구 사항은 astyanax를 통해 열 패밀리의 보조 인덱스 열을 쿼리하는 것입니다. 인덱스 칼럼에서 표현식을 사용하여 카산드라의 데이터를 읽도록 astyanax 웹 사이트에서 몇 가지 예를 찾을 수있었습니다. 나는 내 자신의 코드를 작성하는 예제를 사용 :Astyanax IndexQuery 실행 결과를 모두 얻을 수 없습니다.

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 아파치 카산드라 버전 : 1.1.8 JDK 버전 : 1.7 플랫폼 : RHEL 5.4 32 비트

답변

1

당신의 행 제한 증가 :

.setRowLimit(100) 
+0

안녕하세요, 답장을 보내 주셔서 감사합니다. 그러나 당신이 내 코드를 보면 행 한계를 100으로 설정하고있다. 그것은 도움이되지 않는다. – user582348

+0

나는 이해하지 못한다. 더 많은 행이 필요하면 행 한계를 늘리십시오. –

2

setRowLimit (100) 수단을 쿼리를 실행할 때마다 최대 100 개의 항목이 반환됩니다. 그래서 100 개가 넘는 항목이있는 경우 쿼리를 반복 실행하여 설정을 autoPaginateRows (true)로 설정해야합니다.