【问题标题】:Couchbase - Elasticsearch - transport. Mapping to typesCouchbase - Elasticsearch - 传输。映射到类型
【发布时间】:2016-03-31 15:39:14
【问题描述】:

我有下一个问题:

我在 couchbase 中有存储桶 - 名为 cars。 我在 elasticsearch 中有索引 - 名为 test

我映射了我的文档。 在 elasticsearch 配置中我设置:

couchbase.typeSelector.defaultDocumentType: 'Test'
couchbase.typeSelector.documentTypeDelimiter: '_'

我开始从 couchbase 复制到 elasticsearch但是!我所有的文档都变成默认类型测试

我也尝试使用 doc.NameOfProperty 进行映射 - 但它对我没有帮助:(

我不知道为什么它不起作用。

我的目标 - 通过 TYPE 将文档从 couchbase 设置为 elasticsearch。

谢谢。

【问题讨论】:

    标签: elasticsearch couchbase elasticsearch-plugin


    【解决方案1】:

    您缺少文档类型选择器设置。默认情况下,插件使用DefaultTypeSelector,它只是将所有文档分配给defaultDocumentType,在你的例子中是“Test”。

    要让插件通过根据分隔符拆分 id 来将文档分配给类型,您需要告诉插件使用DelimiterTypeSelector。将以下行添加到您的 elasticsearch.yml 以使用您的配置中已有的内容:

    couchbase.typeSelector: org.elasticsearch.transport.couchbase.capi.DelimiterTypeSelector
    

    这样,插件会将所有具有“Something_123”形式的 id 的文档分配给“Something”类型,并将所有其他文档分配给“Test”类型。

    您的沙发底座相关设置应如下所示:

    couchbase.username: Administrator
    couchbase.password: 12345 # Same as the combination on my luggage
    couchbase.ignoreFailures: true
    couchbase.wrapCounters: true
    couchbase.ignoreDotIndexes: true
    couchbase.typeSelector: org.elasticsearch.transport.couchbase.capi.DelimiterTypeSelector
    couchbase.typeSelector.documentTypeDelimiter: '_'
    couchbase.typeSelector.defaultDocumentType: 'Test'
    

    【讨论】:

    • 谢谢大卫。这个世界好小)))))))
    猜你喜欢
    • 2016-04-17
    • 2016-05-14
    • 1970-01-01
    • 1970-01-01
    • 2019-10-18
    • 2014-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多