我想执行此查询(https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-range-query.html):
{
"range" : {
"age" : {
"gte" : 10,
"lte" : 20
}
}
}
我试过这段代码:
QueryBuilders.rangeQuery("age").gte(10).lte(20)
但生成另一个查询:
{
"range" : {
"age" : {
"from" : 10,
"to" : 20,
"include_lower" : true,
"include_upper" : true
}
}
}
如何使用Java API创建文档中的范围?我认为从0.98版本中不推荐使用“from”和“to”。
问题是当我尝试执行其他查询时:
{
"range" : {
"age" : {
"gte" : 10
}
}
}
因为这段代码:
QueryBuilders.rangeQuery("age").gte(10)
生成此其他查询:
{
"range" : {
"age" : {
"from" : 10,
"to" : null,
"include_lower" : true,
"include_upper" : true
}
}
}
在这种情况下,同样的问题加上“to”为空。 再次,如何使用Java API创建这个简单的查询?
无论如何,使用“from”和“to”而不是“gte”或“lte”会返回相同的结果。只是,我担心可能会误解文档或Java API中的BUG。
环境: