2013-06-17 1 views
0

Как искать записи в JSON?RIAK: Как искать записи в JSON?

Например:

http://server.cc/riak/Scores/user12

{v: "{" оценка: вкладка "0", "14," золотой ": 255}"}

Как я получу все записи, где «золото» больше 150 или равно 255?

У меня установлен крюк Riak Search на ведре. Я использовал пример из riak php lib.

$client = new Riak(self::HOST, self::PORT); 
$bucket = $client->bucket("Scores"); 
$results = $client->search("Scores", "gold:255")->run(); 

не имеет результатов.

Можно ли это сделать через mapreduce?

ответ

0

пусть, у вас есть объект JSON как это:

var goldJson= 
    [ 
     {"score": , "tab": , "gold": 255}, 
     {"score": , "tab": , "gold": 256}, 
     {"score": , "tab": , "gold": 257} 
    ] 

теперь вы можете получить золото больше, чем 150 или равное 255, используя следующие коды:

for(var i = 0; i < goldJson.length; i++) 
{ 
    if(goldJson[i].gold >150 || goldJson[i].gold == 255) 
    { 
    //get gold More than 150 or equal to 255 
    } 
} 
+0

Райхан, спасибо. Но как мне получить список с сервера riak? – user2417087

+0

вы можете увидеть следующий пример: http://stackoverflow.com/questions/12875126/php-riak-list-buckets –

1

Просто увидел это пройти мимо на Riak Пользователи в списке рассылки:

http://lists.basho.com/pipermail/riak-users_lists.basho.com/2013-June/012286.html

«золото» вложено, поэтому я считаю, что термин поиска будет:

v_gold: 255

Подчеркивание используются в качестве разделителя между вложенными ключами.

-Alexander Sicular