2015-05-21 2 views
1

У меня есть служба, которая в настоящее время хранит данные в Oracle DB. Я работаю над проектом, где мне нужно запустить набор запросов sql для получения некоторых агрегированных данных. Я хотел бы сохранить эти запросы в одном месте, которые я могу перебрать, и получить требуемые данные. Скажите, сегодня у меня есть 10 запросов. Но я могу продолжать добавлять больше, не выгружая код.Автоматическое преобразование SQL-запроса в запрос ElasticSearch

Но завтра мы захотим перейти на ElasticSearch. Есть ли способ, что я могу использовать те же sql-запросы для поиска даже с помощью ElasticSearch.

ответ

0

Вы могли бы сделать какой-то парсер, но опять же я не думаю, что это на самом деле даже хорошая идея, даже если парсер хорошо написан. Вы должны помнить, что Elasticsearch использует инвертированные индексы, поскольку он основан на Lucene. Запросив его так же, как вы запрашиваете реляционную базу данных в виде сбоев в этой логике, при этом неясно, будет ли полезно использовать ElasticSearch, вы, вероятно, лучше придерживаетесь чистых SQL-запросов.

Кроме того, учитывая, что у вас есть только 10 запросов, и вы уже планируете переключиться на ES, я настоятельно рекомендую адаптировать эти 10 запросов к соответствующим ES-запросам, переключиться на ES, а затем создавать только новые запросы в ES логика.

+0

Thanks Christophe! –

+0

Я тоже пришел к такому выводу. Проект es-sql, хотя и полезен для просмотра, поддерживает только команды, которые хорошо переносят логику обратного индекса. – montewhizdoh

Смежные вопросы