java - ES - 将旧版 ElasticSearch 从 Rest 转换为高级客户端
问题描述
我想知道弹性 5 - 7 的以下查询的等价物是什么(对我来说没关系)
我知道此查询已弃用,但实际上我正在尝试将旧版 1.7.5 集群与高级 ES 集群一起使用。我做了一些测试,尽管文档指出它不支持我尝试过并且大多数简单的操作都有效。剩下的是转换一些查询,如下例所示
{
"size" : 3000,
"query" : {
"filtered" : {
"filter" : {
"bool" : {
"must" : [ {
"terms" : {
"source" : [ "o365mail" ]
}
}, {
"range" : {
"bckdate" : {
"from" : "1549360021398l",
"to" : null,
"include_lower" : true,
"include_upper" : true
}
}
} ]
}
}
}
},
"fields" : "*"
}
到目前为止我尝试过的是7.9.3
:
https ://www.elastic.co/guide/en/elasticsearch/client/java-rest/7.9/java-rest-high.html
SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
BoolQueryBuilder boolQueryBuilder = new BoolQueryBuilder();
boolQueryBuilder
.must(QueryBuilders.termsQuery(IndexFields.SOURCE.getIndexName(),Arrays.asList(Source.O365MAIL.toString().toLowerCase())))
.must(QueryBuilders.rangeQuery("bckdate").gte(1549360021398l).lte(null));
sourceBuilder.query(boolQueryBuilder);
SearchRequest sr = new SearchRequest();
sr.source(sourceBuilder);
SearchResponse searchResponse2 = client.search(sr, RequestOptions.DEFAULT);
调试的查询是:
{
"bool" : {
"must" : [
{
"terms" : {
"source" : [
"o365mail"
],
"boost" : 1.0
}
},
{
"range" : {
"bckdate" : {
"from" : 1549360021398,
"to" : null,
"include_lower" : true,
"include_upper" : true,
"boost" : 1.0
}
}
}
],
"adjust_pure_negative" : true,
"boost" : 1.0
}
}
我想知道遗留代码的过滤器是否相同,因为响应的数据几乎相同。
我不需要Filters
像遗留查询一样打破逻辑......
感谢帮助