Couchbase — Elasticsearch — транспорт. Сопоставление с типами

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

У меня есть ведро в couchbase с именем cars. У меня есть индекс в elasticsearch с именем test

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

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

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

Я также пробовал сопоставлять с doc.NameOfProperty, но это мне не помогает :(

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

Моя цель - установить документы из диванной базы в elasticsearch по TYPE.

Спасибо.


person David Abaev    schedule 25.12.2015    source источник


Ответы (1)


Вам не хватает настройки выбора типа документа. По умолчанию плагин использует DefaultTypeSelector, который просто присваивает всем документам тип документа по умолчанию, который в вашем случае — «Тест».

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

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

Таким образом, плагин будет назначать любые документы с идентификаторами в форме «Something_123» типу «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'
person David Ostrovsky    schedule 11.01.2016
comment
Спасибо, Дэвид. Мир такой маленький))))))) - person David Abaev; 01.02.2016