2011-11-11 43 views
2

有没有什么办法从cassandra通过phpcassa使用子句获取数据?从cassandra使用子句获取数据

我需要选择所有行,其中sum<10。例如,phpcassa get_range()中的函数仅选择等于某些值的行。通常用PHPCassa

+0

我发现溶液 需要有创建索引表达时使用'cassandra_IndexOperator' http://wiki.apache.org/cassandra/API – Undrooleek

回答

2

,你会使用索引:

http://thobbs.github.com/phpcassa/tutorial.html //

略有提高:

<?php 
$column_family = new ColumnFamily($conn, 'Indexed1'); 
$index_exp_eq = CassandraUtil::create_index_expression('gender', 'male', $op='EQ'); 
$index_exp_gt = CassandraUtil::create_index_expression('sum', 10, $op='GT'); 
$index_clause = CassandraUtil::create_index_clause(array($index_exp_eq, $index_exp_gt)); 
$rows = $column_family->get_indexed_slices($index_clause); 
// returns an Iterator over: 
// array('winston smith' => array('birthdate' => 1984)) 

foreach($rows as $key => $columns) { 
    // Do stuff with $key and $columns 
    Print_r($columns) 
} 
?> 

随着你的情况下,你不能简单地与总和< 10单索引表达式.. 。您必须具有EQ运算符的第一个索引表达式以及其他运算符的后续索引表达式。

+0

但如果没有任何列,其等于任何数据我有? – Undrooleek