Я новичок в Elasticsearch. До сих пор я использовал функции MySQL Full Text.
Я хочу, чтобы моя база данных MySQL была моей основной базой данных, и я хочу использовать Elasticsearch вместе с поисковой системой на моем веб-сайте. Когда я думал об этом, у меня возникло несколько проблем. Основная проблема - синхронизация между базой данных MySQL и эластичным поиском.
Некоторые говорят использовать Logstash. Но даже если я его использую, нужно ли мне писать отдельные функции в моей программе для транзакций базы данных и индексации Elasticsearch?






Вам нужно будет периодически запускать задание по полной переиндексации и / или отправлять обновления отдельных документов для индексации ES. Logstash не подходит для этой цели. Вам нужен только обычный ES API для индексации.
Напишите код на любом языке, который будет вызываться каждые 5 (или n) секунд, и этот код будет отправлять изменения базы данных в ESS. Вы отправите только те записи, которые были недавно изменены в течение этих x секунд. Вы можете добавить столбец в свою таблицу LastModifiedOn при создании UTC_Timestamp и при обновлении UTC_timestamp ()