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'