elasticsearch,Couchdb,elasticsearch" /> elasticsearch,Couchdb,elasticsearch" />

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

如何用Elastic Search River索引CouchDB:用简单的英语,couchdb,elasticsearch,Couchdb,elasticsearch,我真的不知道我的配置发生了什么,但我只是在索引之后无法查询任何内容(甚至不知道我是否正确地执行了索引部分)。有人能告诉我以下每一项的意思和应该是什么吗 我有一个名为bestdb的CouchDB数据库。在这个数据库中,我有像产品和客户这样的文档类型 现在我安装了弹性搜索版本0.18.7和相应的couchdb river。我开始弹性搜索和couchdb。我将elasticsearch的network.host设置为ip地址:10.0.0.129。我按照以下说明进行操作: {A} 这是什么?我的理解是

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

我有一个名为
bestdb
的CouchDB数据库。在这个数据库中,我有像
产品
客户
这样的文档类型

现在我安装了弹性搜索版本0.18.7和相应的couchdb river。我开始弹性搜索和couchdb。我将elasticsearch的network.host设置为ip地址:10.0.0.129。我按照以下说明进行操作:

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

{B} :这个指数是多少?这和上面的有什么不同?在我的场景中,它的价值应该是什么

{C} :这是否与couchdb中的文档类型相关,如
产品
客户

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

谢谢你帮我把事情弄清楚的人

问候,,
Mark Huang

kimchy的文档通常会留下一点想象空间。:-)

A是河流名称。river只是一个ES文档,存储在名为
\u river
的索引中,一个名为任意的类型,以及一个文档id
\u meta


B&C是您的
bestdb
couchdb\u变更流将被索引到的本地
index/\u类型。这些可由couchdb文档中的
\u索引
\u类型
字段覆盖。如果上面没有提供,它们将默认为您的couchdb实例名
bestdb/bestdb

谢谢您的回复,非常感谢。你能用我提供的上下文向我解释一下吗;产品文档类型?索引和类型字段通常是什么?在我的例子中,_index(或者从上面的例子{B})是产品ID而_type是“产品”吗?如果我不添加索引对象,我如何查询我的couchdb实例?我对couchdb的工作原理有点不熟悉,但是从ES代码来看,如果
\u changes
流中的文档具有
\u index
\u type
字段,则这些字段将覆盖河流设置中的默认值。因此,您可以在设置中为B和C设置一个合理的默认值,但是要为您的业务逻辑分离产品/客户文档,您似乎必须在couchdb文档中完成一些工作。
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"
    }
}'