Couchbase - Elasticsearch - транспорт. Отображение на типы

У меня следующая проблема:

У меня есть ведро в вагоне с именем по имени. У меня есть индекс в asticsearch - названный тест

Я нанес на карту свой документ. В конфиге asticsearch я установил:

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

Я начал репликацию с couchbase на asticsearch. НО! Все мои документы переходят на тип по умолчанию (Тест)

Я также попытался сопоставить с doc.NameOfProperty - но это не помогает мне:(

Я понятия не имею, почему это не работает.

Моя цель - установить документы от couchbase до asticsearch по TYPE.

Спасибо.

1 ответ

Решение

Вам не хватает настройки селектора типа документа. По умолчанию плагин использует DefaultTypeSelector, который просто назначает все документы для defaultDocumentType, который в вашем случае является "Test".

Чтобы плагин назначал документы типам, разделяя идентификатор в соответствии с разделителем, вы должны указать плагину использовать DelimiterTypeSelector, Добавьте следующую строку в ваш asticsearch.yml, чтобы перейти к тому, что у вас уже есть в вашей конфигурации:

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

Таким образом, плагин будет назначать любые документы с идентификаторами в виде "Something_123" для типа "Something" и все другие документы для типа "Test".

Ваши общие настройки, связанные с couchbase, должны выглядеть примерно так:

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'
Другие вопросы по тегам