Как создать QueryBuilder из JSON DSL при использовании Java API в ElasticSearch?

Я использую ElasticSearch в качестве службы поиска в веб-проекте Spring, который использует Transport Client для связи с ES.

Мне интересно, существует ли метод, который может создать QueryBuilder из JSON DSL. например, преобразуйте этот запрос DSL JSON bool в QueryBuilder.

{
    "query" : {
        "bool" : {
            "must" : { "match" : {"content" : "quick"},
            "should": { "match": {"content" : "lazy"}
        }
    }
}

Мне нужен этот метод, потому что я должен получить ввод строки bool пользователя из веб-интерфейса и проанализировать эту строку bool в QueryBuilder. Однако это не подходит для использованияQueryBuilders.boolQuery().must(matchQB).should(shouldQB).must_not(mustNotQB), Потому что нам может потребоваться несколько обязательных или необязательных запросов.

Если существует метод, который может создать QueryBuilder из JSON DSL или существуют альтернативные решения, это будет намного проще.

PS: Я нашел два метода, которые могут обернуть строку DSL в QueryBuilder для поиска ES. ОдинWrapperQueryBuilderподробности смотрите здесь.http://javadoc.kyubu.de/elasticsearch/HEAD/org/elasticsearch/index/query/WrapperQueryBuilder.html Еще одинQueryBuilders.wrapperQuery(Строка DSL).

Ответы на вопрос(2)

Ваш ответ на вопрос