java调用ElasticSearch查询 string类型的 kpi1或kpi2值大于0
时间: 2023-12-10 09:37:23 浏览: 30
可以使用Elasticsearch的查询语句来实现此功能。以下是一个简单的Java代码示例,用于查询 string 类型的 kpi1 或 kpi2 值大于 0 的文档:
```java
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.builder.SearchSourceBuilder;
import java.io.IOException;
public class ElasticSearchQuery {
public static void main(String[] args) throws IOException {
RestHighLevelClient client = new RestHighLevelClient(/* your Elasticsearch client */);
SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
sourceBuilder.query(QueryBuilders.boolQuery()
.should(QueryBuilders.rangeQuery("kpi1").gt(0))
.should(QueryBuilders.rangeQuery("kpi2").gt(0)));
SearchResponse response = client.search(/* your search request */);
// handle search response
}
}
```
在上面的代码中,`QueryBuilders.boolQuery()` 创建一个布尔查询,`should()` 方法添加两个子查询,`rangeQuery()` 方法创建一个范围查询,`gt()` 方法指定值大于 0。`SearchSourceBuilder` 设置查询源并执行查询。最后,`SearchResponse` 包含查询结果。你需要将 `/* your Elasticsearch client */` 替换为你的 Elasticsearch 客户端代码,并将 `/* your search request */` 替换为你的搜索请求。