2

我在谷歌上搜索,发现了各种 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 脚本,但它们都产生了相同的错误。

我的主要开发环境包括 Debian linux 机器上的 PHP 和 Perl,但我会采用任何解决方案,将所有密钥转储到纯文本文件中。

感谢您的任何帮助!

4

1 回答 1

1

迟到的回复,但您可以为此使用沙发底座视图。

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

这将发出存储桶中的每个 json 键。

于 2013-10-20T15:50:53.927 回答