2012-02-24 51 views
2

我在网上搜索并发现了各种python + tap解决方案,这些解决方案应该使我可以转储存储桶中的所有密钥,但它们都不适用于我。我在端口11230有一个存储桶,我需要获得所有密钥的转储,以便将它们填充到狮身人面像搜索引擎中。Couchbase(ex。membase)解决方案转储存储桶中的所有密钥

如果我执行:

# 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在Debian linux中,但我会采取任何解决方案,只是将所有密钥转储为纯文本文件。

谢谢你的帮助!

回答

1

最新回复,但您可以使用couchbase查看。

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

这会发出json桶中的每个密钥。