У нас есть архитектура, которая использует и эластичный поиск, и hadoop для задач почти в реальном времени и пакетной обработки соответственно. Мы принимаем данные и записываем их в обе системы, поэтому синхронизация уже обеспечена, при условии некоторого отставания в хранении строк в HDFS.
Вызовы для контента пользовательского интерфейса будут запрашивать эластичный поиск, используя запрос DSL. В этих запросах используются многие из наворотов набора упругого поиска, таких как пользовательские анализаторы, фразы соответствия и другие, которые не имеют эквивалента в улье или преобразовании карты.
Один из наших пакетных процессов, который мы переходим в HDFS, чтобы выполнить полный экспорт всех строк, соответствующих запросу эластичного поиска, должен генерировать те же результирующие данные, что и запрос, отправляемый в эластичный поиск, но избегать вызова эластичного поиска (как это делается в es -hadoop), чтобы избежать снижения производительности нашего кластера эластичного поиска.
Существует ли какой-либо универсальный инструмент или процесс преобразования сложного запроса эластичного поиска в нечто, что может применять ту же логику фильтрации в hadoop? Нам не нужно рассматривать агрегации или что-то в этом роде, просто фильтрацию запросов.