小编jlg*_*dez的帖子

从SearchQuery对象获取字符串查询(JSON)

出于调试目的,我需要知道spring-data-elasticsearch正在向ElasticSearch集群发送什么查询.我试图toStringSearchQuery对象上调用方法,但不返回我需要的东西.

我在Java中做的事情(使用spring-data-elasticsearch)是:

private FilterBuilder getFilterBuilder(String id) {
    return orFilter(
        termFilter("yaddayaddayadda.id", id),
        termFilter("blahblahblah.id", id)
    );
}


SearchQuery sq = NativeSearchQueryBuilder()
    .withQuery(new MatchAllQuery())
    .withFilter(fb)
    .build();
Run Code Online (Sandbox Code Playgroud)

我希望返回类似ES集群REST API中执行的简单查询返回的内容:

{
    "query": {
        "filtered": {
            "filter": {
                "or": [
                    {
                        "term": {
                            "yaddayaddayadda.id": "9"
                        }
                    },
                    {
                        "term": {
                            "blahblahblah.id": "9"
                        }
                    }
                ]
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

提前致谢!

elasticsearch spring-data spring-data-elasticsearch

1
推荐指数
1
解决办法
2204
查看次数