控制elasticsearch java QueryBuilder如何转换为String

时间:2018-03-29 14:28:18

标签: java elasticsearch elasticsearch-5

以下代码会发出一个弹性搜索查询,这个查询对我来说太过冗长 -

import org.elasticsearch.index.query.QueryBuilder;
import static org.elasticsearch.index.query.QueryBuilders.termQuery;

public class MyQueryPrinter {

    public static void main(String[] args) {
        QueryBuilder myQuery = termQuery("brand", "gucci");
        System.out.println(myQuery.toString());
        /* prints - 
          {
            "term" : {
                "brand" : {
                    "value" : "gucci",
                    "boost" : 1.0
                    }
                }
            }
         */
    } 
}  

我想打印最短的查询json-

{
    "term" : {
        "brand" : "gucci"
    }
}

该代码还自动“漂亮地打印”(即缩进)json。

如何控制QueryBuilder转换为字符串的方式?

谢谢!

P.S。 - 我通过maven使用Elasticsearch 5.5.3 -

<dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>transport</artifactId>
    <version>5.5.3</version>
</dependency>

0 个答案:

没有答案