2015-12-16 4 views
4

Я хочу проверить запрос перед сохранением его для использования позже. Я вижу, что ES имеет validate API, но он не видит способ использовать его с Java api.Elasticsearch java validate api

Есть ли способ проверить ES-запросы с помощью java api?

Возможно, я мог бы просто запустить запрос перед его сохранением?

+0

> Если вы используете Java для эластичной поиски, то почему бы не использовать Java-драйвер elacticsearch и запрос на QueryBuilder: [Query Builder] (https://www.elastic.co/guide/en/elasticsearch /client/java-api/1.3/query-dsl-queries.html) – huuthang

ответ

1

Итак, посмотрев исходный код эластичного поиска, я придумал это решение.

public ActionFuture<ValidateQueryResponse> validateAsync(QueryBuilder query, String[] indices) { 
    final ValidateQueryRequest request = new ValidateQueryRequest(); 
    request.indices(indices); 
    request.source(query.buildAsBytes()); 
    return esClient.admin().indices().validateQuery(request); 
} 
Смежные вопросы