使用子句从cassandra获取数据

时间:2011-11-11 10:45:40

标签: php cassandra phpcassa

有没有办法通过phpcassa使用条款从cassandra获取数据?

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

1 个答案:

答案 0 :(得分:2)

通常使用PHPCassa,您可以使用索引:

根据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)
}
?>

对于您的场景,您不能简单地使用sum <10的单个索引表达式...您必须具有带有EQ运算符的第一个索引表达式以及带有其他运算符的后续索引表达式。