【问题标题】:How to index CouchDB with Elastic Search River: In plain english如何使用 Elastic Search River 索引 CouchDB:简而言之
【发布时间】:2012-04-12 07:56:26
【问题描述】:

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

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

现在我安装了elasticsearch 0.18.7版本和对应的couchdb river。我开始弹性搜索和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 中的 Document Type 有关,例如 productcustomer

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

感谢任何为我解决问题的人。

问候, 黄马克

【问题讨论】:

    标签: couchdb elasticsearch


    【解决方案1】:

    kimchy 的文档常常给人以想象。 :-)

    A 是河流名称。一条河流只是一个 ES 文档,存储在一个名为 _river 的索引中,一个类型命名为任意你想要的类型,以及一个 doc id _meta

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

    【讨论】:

    • 感谢您的回复,非常感谢。你能用我提供的上下文向我解释吗?产品文件类型? _index 和 _type 字段通常是什么?就我而言,_index(或上面的示例 {B})是产品 ID 并且 _type 是“产品”吗?
    • 如果不添加索引对象,如何查询我的couchdb实例?
    • 我对 couchdb 的工作原理有点不熟悉,但是从 ES 代码来看,如果您的 _changes 流中的文档具有 _index_type 字段,这些字段将覆盖默认值河流设置。因此,您可以在设置中为 BC 设置合理的默认值,但要为您的业务逻辑分离产品/客户文档,看起来您必须这样做你的 couchdb 文档中的一些工作。
    猜你喜欢
    • 2011-08-29
    • 1970-01-01
    • 2011-12-08
    • 1970-01-01
    • 1970-01-01
    • 2013-03-03
    • 2012-02-15
    • 1970-01-01
    • 2015-04-05
    相关资源
    最近更新 更多