Прямой импорт данных таблицы RDS в Amazon Cloudsearch

У меня есть база данных RDS с таблицей, содержащей массу данных в нескольких столбцах (некоторые с геопространственными данными), по которым я хочу выполнить поиск. SQL-запросы и хорошие покрывающие индексы для этих данных по-прежнему слишком медленны, чтобы их можно было использовать для чего-то вроде поля подсказок типа AJAX.

Таким образом, я изучаю варианты поиска и наткнулся на Amazon CloudSearch (теперь работающий на Apache Solr), и, похоже, он соответствует моим потребностям. Проблема в том, что я не могу найти способ через консоль AWS импортировать или предоставлять данные из RDS. Я что-то упускаю? Другие решения, такие как ElasticSearch, имеют плагины, такие как river, для подключения данных преобразования MySQL.

Я знаю, что есть инструменты командной строки для загрузки данных CSV и XML в CloudSearch. Пока что самое простое, что я могу найти, это преобразовать таблицу mysqldump в формат CSV или XML и вручную загрузить ее с помощью инструментов CLI. Является ли это с какой-то повторяющейся работой cron лучшим способом получения данных?


person Ray    schedule 22.05.2014    source источник


Ответы (3)


По состоянию на 17 июня 2014 г. эта функция недоступна в Amazon Cloudsearch.

person Ray    schedule 18.06.2014
comment
Итак, какой подход вы в конечном итоге выбрали? У меня сейчас та же проблема, и хотя я еще не пробовал, я предполагаю, что можно загрузить документ в CloudSearch через фоновое задание или очередь сообщений, пока я сохраняю запись в RDS? - person Duos; 02.07.2015

Я думаю, что AWS Data Pipeline может помочь. Он работает как cron, и с его помощью вы можете легко программировать повторяющиеся задания.

person fesnault    schedule 22.06.2014

Столкнулся с тем же, что можно получить напрямую из RDS, только если вы используете noSQL и DynamoDB AWS.

Заглянув в Elasticsearch после того, как узнал об этом.

person ecoding5    schedule 03.10.2014
comment
Итак, какой подход вы в конечном итоге выбрали? У меня сейчас та же проблема, и хотя я еще не пробовал, я предполагаю, что можно загрузить документ в CloudSearch через фоновое задание или очередь сообщений, пока я сохраняю запись в RDS? - person Duos; 02.07.2015
comment
В итоге я использовал Heroku с Elasticsearch, потому что уже был знаком с Heroku. - person ecoding5; 02.07.2015
comment
Ой. Я предполагаю, что вы использовали надстройку Elasticsearch Heroku. В таком случае это только добавляет мне возможностей. Я попробую фоновое задание или маршрут SQS, затем Logstash, затем триггеры базы данных. Если ничего не получится, я рассмотрю возможность использования такого дополнения на Heroku. - person Duos; 02.07.2015
comment
Мне нужно загрузить данные в домен cloudsearch, все мои данные в rds. Я вижу, у двоих из вас были одинаковые вопросы... Что вы в итоге сделали? - person Nirmal; 21.03.2017
comment
В итоге я использовал надстройку Elasticsearch Heroku, с тех пор я отошел от этого проекта, поэтому больше не знаю об этой проблеме. По моему опыту, поддержка AWS довольно хороша, я бы связался с ними на вашем месте, чтобы узнать, что они могут предложить. - person ecoding5; 22.03.2017