当我第一次查询CouchDB / Couchbase视图时,需要计算它。如果有大量的文档和每个单独的视图,这可能需要很长时间..
有没有办法将已计算的视图从一个Couch复制到另一个Couch?
答案 0 :(得分:1)
不是直接通过CouchDB复制,不是,我必须实现的各种实际复杂性让我觉得不切实际。
对于初学者来说,这意味着CouchDB必须同时精确地管理变更视图计算的复制,以便与实际数据完全同步(因此您不会获得比数据更新的视图计算),然后由此进一步复杂化事实上,只有在请求时才会更新视图,因此任何一端的查看数据都可能已过期(如果用户使用stale = ok查询,甚至可能需要保持过时)。
我相信你可以直接复制视图索引文件(我认为默认情况下在/var/lib/couchdb/.DBNAME_design/SOMEHASH.view中),如果你只需要一次性视图同步。我建议不要经常这样做作为一般解决方案,因为它不是官方支持的AFAIK而且可能非常脆弱。
答案 1 :(得分:0)
这不是你问题的直接答案,尽管PimTerry指出,不支持复制视图索引,特别是在不同的实现之间。
您可以采取的措施是遵循此处描述的程序:
http://wiki.apache.org/couchdb/How_to_deploy_view_changes_in_a_live_environment
这样你就可以让你的couchdb“在后台”计算新索引,而不会阻止你的应用程序的使用。
希望这有帮助。