2017-01-03 5 views
0

Я начинаю Elastic поиск 5 проекта из данных, которые на самом деле в SQL Server, поэтому я начинаю с самого начала:Elastic Search 5 и SQL Server синхронизации

Я думаю о том, как импортировать данные из моего SQL Server, и особенно, как синхронизировать мои данные, когда данные обновляются или добавляются.

Я видел here Рекомендуется делать слишком частую партию.

Но как сделать партию синхронизации, может быть, мне нужно написать ее самостоятельно или есть очень используемые инструменты и методы? River и JDBC plugin feeder, по-видимому, были действительно использованы, но не работают с Elastic Search 5. *

Любая помощь будет очень приветствована.

+0

Этот ответ может помочь: http://stackoverflow.com/questions/34477095/elasticsearch-replication-of-other-system -data/34477639 # 34477639 – Val

ответ

2

Я бы рекомендовал использовать Logstash:

  • Это простой в использовании и настройке
  • Вы можете сделать свой собственный ETL в файлах конфигурации logstash
  • Вы можете иметь несколько источников JDBC в одном файле
  • Вы получите информацию о том, как создавать инкрементные (пакетные) обновления для синхронизации ваших данных. Это действительно зависит от вашей модели данных.

Это хороший блог кусок, чтобы начать с:

https://www.elastic.co/blog/logstash-jdbc-input-plugin

+0

Следует учитывать, что если вы удалите данные с вашего SQL-сервера, это не будет вызвано Logstash 'jdbc'. См. Мой комментарий выше для альтернативного решения. – Val

+0

@Val Вы правы, однако OP использует MSSQL, поэтому инструменты, упомянутые в вашем блестящем ответе, не помогут. Говоря об удалении - вот почему я упомянул, что это зависит от модели данных. Вы можете перестроить индекс и отбросить старые, вы можете захватить операции DML в MSSQL с помощью триггеров и поместить их в очереди Service Broker или некоторые другие таблицы, чтобы узнать, что произошло с этими данными. Спасибо за ваши заметки, хотя :) –

+0

Несомненно, просто привлекая внимание к тому факту, что DELETE часто оставляют без внимания, и когда придет время принять их во внимание, все это разваливается только из-за этого. – Val