Java ES-将传统ElasticSearch从Rest转换为高级客户端
我想知道以下查询与elastic 5-7的等价物是什么(对我来说无关紧要) 我知道这个查询已被弃用,但实际上我正在尝试使用legacy 1.7.5 cluster与高级ES cluster一起工作。 我做了一些测试,虽然文档中指出它不支持,但我尝试了,而且大多数简单的操作都可以工作。剩下的是转换一些查询,如下面的示例所示Java ES-将传统ElasticSearch从Rest转换为高级客户端,java,
elasticsearch,Java,
elasticsearch,我想知道以下查询与elastic 5-7的等价物是什么(对我来说无关紧要) 我知道这个查询已被弃用,但实际上我正在尝试使用legacy 1.7.5 cluster与高级ES cluster一起工作。 我做了一些测试,虽然文档中指出它不支持,但我尝试了,而且大多数简单的操作都可以工作。剩下的是转换一些查询,如下面的示例所示 { "size" : 3000, "query" : { "filtered" : { &
{
"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
:
来自调试的查询是:
{
"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
}
}
我想知道遗留代码的过滤器是否相同,因为响应的数据几乎相同
我不需要像在遗留查询中那样用所有过滤器打破逻辑
感谢您的帮助很有意思,但我不认为这是一个简单的问题,您需要做更多的工作,因为最新的ES版本中不推荐使用过滤查询。@Elasticsearch Ninja-所以可能不使用最新版本的rest client,可能5.6版本足以不破坏逻辑??尝试一个查询\u字符串查询?例如:“source:(\“o365mail\”)和bcdate:[1549360021398 TO*]”逻辑似乎足够简单,可以工作。有趣的是,我认为这并不简单,因为过滤查询在最新的ES版本中不推荐使用。@Elasticsearch Ninja-所以可能不使用最新版本的rest客户端,也许5.6版本足以不破坏逻辑??尝试一个查询\字符串查询?例如:“source:(\“o365mail\”)和bcdate:[1549360021398 TO*]”逻辑似乎足够简单,可以正常工作。
{
"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
}
}