elasticsearch-Java api客户端范围查询

问题描述 投票:0回答:2

我正在将 java 应用程序从弹性搜索高级客户端迁移到 java api 客户端。 代码中有这样的范围查询。

QueryBuilders.rangeQuery("startDate").lte(dateUtils.today())
需要将其更改为java api客户端代码。 有人可以帮忙吗?

java elasticsearch range date-range
2个回答
1
投票

https://www.elastic.co/guide/en/elasticsearch/client/java-api-client/current/searching.html

Query dateRangeQuery = RangeQuery.of(r -> r
    .field("startDate")
    .lte(dateUtils.today()) 
)._toQuery();

0
投票
Joyin 使用的方法

_toQuery() 通常不是标准 Elasticsearch Java API 客户端 RangeQuery 构建器的一部分。相反,您可以直接使用 Query.of() 从 RangeQuery 创建查询。具体方法如下:

Query dateRangeQuery = Query.of(q -> q .range(r -> r .field("field") .lte(JsonData.of("3")) // Assuming you want to use "3" as the upper limit ) );
    
© www.soinside.com 2019 - 2024. All rights reserved.