Решение Couchbase (например, membase) для сброса всех ключей в ведро

Я гуглил и нашел различные решения python + tap, которые должны позволить мне сбросить все ключи из ведра, но ни одно из них не сработало для меня. У меня есть ведро на порту 11230, и мне нужно получить дамп всех ключей, чтобы заполнить их в поисковой системе sphinx.

Если я выполню:

# python /opt/couchbase/lib/python/tap_example.py 127.0.0.1:11230

Я получаю следующий вывод:

info: New bin connection from None
error: uncaptured python exception, closing channel <tap.TapConnection connected at 0x7f5d287184d0> (<type 'exceptions.AssertionError'>: [/usr/lib/python2.6/asyncore.py|read|78] [/usr/lib/python2.6/asyncore.py|handle_read_event|428] [/opt/couchbase/lib/python/mc_bin_server.py|handle_read|325])

эта ошибка такая же, даже если я попробую другой хост или порт. Я также пробовал много других скриптов Python, которые я нашел на форумах и в группах, но все они выдавали ту же ошибку.

Моя основная среда разработки включает PHP и Perl в Linux-системе Debian, но я приму любое решение, которое просто выгружает все ключи в обычный текстовый файл.

Спасибо за любую помощь!


person j99    schedule 24.02.2012    source источник


Ответы (1)


Поздний ответ, но вы можете использовать для этого вид на диван.

function (doc, meta) {
  if(meta.type == 'json') {
   emit(doc.key, null);    
  }
}

Это выдаст каждый ключ в ведре, который является json.

person scalabilitysolved    schedule 20.10.2013