¿Cómo construir QueryBuilder desde JSON DSL cuando se usa la API de Java en ElasticSearch?

Estoy usando ElasticSearch como un servicio de búsqueda en el proyecto web Spring que usa Transport Client para comunicarse con ES.

Me pregunto si existe un método que pueda construir un QueryBuilder a partir de un JSON DSL. por ejemplo, convierta esta consulta bool DSL JSON en un QueryBuilder.

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

Necesito este método porque tengo que recibir la entrada de la cadena bool del usuario desde la parte frontal de la web y analizar esta cadena bool en un QueryBuilder. Sin embargo, no conviene usarQueryBuilders.boolQuery().must(matchQB).should(shouldQB).must_not(mustNotQB). Porque podemos necesitar varias consultas obligatorias o no obligatorias.

Si existe un método para construir un QueryBuilder a partir de JSON DSL o existen soluciones alternativas, será mucho más fácil.

PD: He encontrado dos métodos que pueden ajustar una cadena DSL a un QueryBuilder para la búsqueda de ES. Uno esWrapperQueryBuilder, ver detalles aquí.http://javadoc.kyubu.de/elasticsearch/HEAD/org/elasticsearch/index/query/WrapperQueryBuilder.html Otro esQueryBuilders.wrapperQuery(Cadena DSL).

Respuestas a la pregunta(2)

Su respuesta a la pregunta