如何使用Elastic Search River索引CouchDB:用简单的英语

时间:2012-04-12 07:56:26

标签: couchdb elasticsearch

我真的不知道我的配置发生了什么,但我只是在索引后无法查询任何内容(甚至不知道我是否正确地执行了索引部分)。有人可以告诉我以下每种方法应该是什么意思吗?

我有一个名为bestdb的CouchDB数据库。在这个数据库中,我有productcustomer等文档类型。

现在我安装了弹性搜索版本0.18.7和相应的couchdb河。我开始弹性搜索和couchdb。我将elasticsearch的network.host设置为ip地址:10.0.0.129。我按照tutorial

中的说明操作
curl -XPUT '10.0.0.129:9200/_river/{A}/_meta' -d '{
    "type" : "couchdb",
    "couchdb" : {
        "host" : "localhost",
        "port" : 5984,
        "db" : "bestdb",
        "filter": null
    },
    "index" : {
        "index" : "{B}",
        "type" : "{C}",
        "bulk_size" : "100",
        "bulk_timeout" : "10ms"
    }
}'

{A}:这是什么?我的理解是,这只是一个内部弹性搜索索引吧?它不是用于查询或搜索吗?所以这可能是任何名字吗?

{B}:这个索引是什么?这与上面的有什么不同?在我的场景中,这应该是什么价值?

{C}:这是否与couchdb中的文档类型相关,如productcustomer

在线教程只是将所有内容设置为相同的值。如果我想查询所有产品文档或客户文档,我的curl语句会是什么样子?

感谢所有为我解决问题的人。

此致 Mark Huang

1 个答案:

答案 0 :(得分:1)

kimchy的文档经常会留下一些想象力。 : - )

A 是河牌名称。河流只是一个ES文档,存储在一个名为_river的索引中,一个名称为您想要的类型,以及一个文档ID _meta

B & C 是您的index/_type couchdb _changes流将被编入索引的本地bestdb。这些内容可以由couchdb文档中的_index_type字段覆盖。如果没有提供上述任何内容,则它们将默认为您的couchdb实例名称bestdb/bestdb