1

我正在尝试通过 phpcassa 使用 cassandra,下面是代码:

 $pool = new ConnectionPool($KS, array('127.0.0.1:9160'));
    $users=new ColumnFamily($pool,$CF);
    $users->insert_format = ColumnFamily::ARRAY_FORMAT;
    $users->return_format = ColumnFamily::ARRAY_FORMAT;
    $email='12334@asdasd.com';
    $input=array('col1' => 'val1',
                     'col2' => 'val2',
                     'col3' => 'val3','col4'=>'ladhania');
    $users->insert($email,$input);
    $row=$users->get($email);
    var_dump($row);
    echo $users->get_count('$email');

但输出是:

array(2) { [0]=> array(2) { [0]=> string(1) "l" [1]=> string(1) "a" } [1]=> array(2) { [0]=> string(1) "v" [1]=> string(1) "a" } }
0

我想知道

  1. 为什么它不存储所有 4 列
  2. 为什么存储的列只有一个字符的值
  3. 是否有使用 solr 搜索 cassandra 的 php 客户端

提前致谢

4

1 回答 1

1

由于您将ARRAY_FORMAT指定为输入格式,因此期望列如下所示:

$input = array(array('col1', 'val1'),
               array('col2', 'val2'),
               array('col3', 'val3'),
               array('col4', 'ladhania'));

替代格式示例也可能有用。

是否有使用 solr 搜索 cassandra 的 php 客户端?

DataStax Enterprise 集成了 Solr 支持,您可以通过 Solr API、CQL(最新版本)或 Thrift API(例如 phpcassa)进行查询。

于 2014-04-10T16:17:20.383 回答