2012-04-12 48 views
4

我真的不知道我的配置是怎么回事,但我只是无法查询索引后的任何东西(甚至不知道我是否正确地执行索引部分)。有人能告诉我以下各种方法和应该是什么?如何用Elastic Search River索引CouchDB:简单的英语

我有一个名为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语句将如何显示?

谢谢你为我清除一些东西的人。

问候, 马克黄

回答

1

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

A是河的名字。一条河只是一个ES文件,存储在一个名为_river的索引中,一种名称可以任意指定,类型为文档编号_meta

& ç是当地index/_typebestdb CouchDB的_changes流将得到索引到。这些可以在您的couchdb文档中被_index_type字段覆盖。如果以上都没有提供,它们将默认为您的couchdb实例名称bestdb/bestdb

+0

谢谢你的回应,真的很感激。你能用我提供的上下文向我解释吗?产品文档类型? _index和_type字段通常会是什么?在我的情况下,_index(或从上面的例子{B})是产品ID和_type是“产品”? – Mark 2012-04-27 07:59:45

+0

如果我不添加索引对象,我该如何查询我的couchdb实例? – Mark 2012-04-27 08:14:40

+0

我对couchdb的工作原理有点不熟悉,但是从ES代码来看,如果'_changes'流中的文档具有'_index'和'_type'字段,那么这些字段将覆盖河流设置中的默认值。因此,您可以在设置中为** B **和** C **设置合理的默认值,但为您的业务逻辑分离产品/客户文档,看起来您必须在您的工作中完成一些工作couchdb文档。 – drewr 2012-04-27 15:08:43

相关问题