Couchbase - Elasticsearch - 运输。映射到类型

时间:2015-12-25 19:01:43

标签: elasticsearch couchbase elasticsearch-plugin

我有下一个问题:

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

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

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

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

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

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

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

谢谢。

1 个答案:

答案 0 :(得分:1)

您错过了文档类型选择器设置。默认情况下,插件使用DefaultTypeSelector,它只是将所有文档分配给defaultDocumentType,在您的情况下是"测试"。

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

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

这样,插件将以" Something_123"的形式分配任何带有ID的文档。类型" Something"和所有其他类型的文件"测试"。

您的总沙发基础相关设置应如下所示:

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'