получение данных от Кассандры с помощью пунктов - PullRequest
2 голосов
/ 11 ноября 2011

Есть ли способ получить данные от Кассандры через phpcassa, используя пункты?

Мне нужно выбрать все строки, где sum<10. Например, функция в phpcassa get_range() выбирает только те строки, которые равны определенным значениям.

1 Ответ

2 голосов
/ 11 ноября 2011

Обычно с 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)
}
?>

В вашем сценарии вы не можете просто иметь одининдексное выражение с суммой <10 ... Вы должны иметь первое индексное выражение с оператором EQ и последующие индексные выражения с другими операторами. </p>

...