Использование Elasticsearch DSL Query с Hadoop Mapreduce
Я пытаюсь подключиться от mapreduce к Elasticsearch. Есть отличный учебник, который я использовал. Чтобы запросить asticsearch, он использует поиск URI, который работает нормально:
Configuration conf = new Configuration();
conf.set("es.resource", "radio/artists/");
conf.set("es.query", "?q=me*");
Мне любопытно, можно ли как-нибудь использовать запрос dsl. Я не нашел ничего.
Спасибо
1 ответ
Решение
Хорошо, можно использовать Query DSL, и это довольно просто. Все, что вам нужно сделать, это отредактировать запрос, чтобы начать с {
и заканчивается }
, Так это будет выглядеть так:
conf.set("es.query", { "query" : { "term" : { "user" : "costinl" } } });
Или можно использовать внешний json
файл:
conf.set("es.query", "some.json");
Подробнее об этом здесь.