springboot es7.6 sql 查询demo
时间: 2023-09-17 19:15:02 浏览: 38
以下是使用 Spring Boot 操作 Elasticsearch 7.6 进行 SQL 查询的示例代码:
1. 添加 Elasticsearch 和 Elasticsearch SQL 依赖库到 pom.xml 文件中:
```xml
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-client</artifactId>
<version>7.6.0</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.plugin</groupId>
<artifactId>x-pack-sql-jdbc</artifactId>
<version>7.6.0</version>
</dependency>
```
2. 配置 Elasticsearch client:
```java
@Configuration
public class ElasticsearchConfig {
@Value("${elasticsearch.host}")
private String host;
@Value("${elasticsearch.port}")
private int port;
@Bean
public RestHighLevelClient client() {
RestClientBuilder builder = RestClient.builder(new HttpHost(host, port, "http"));
return new RestHighLevelClient(builder);
}
}
```
3. 编写 SQL 查询代码:
```java
@Service
public class ElasticsearchService {
@Autowired
private RestHighLevelClient client;
public void sqlQuery() throws IOException, SQLException {
String sql = "SELECT * FROM my_index WHERE age > 30";
PreparedStatement statement = client.sql().prepareStatement(sql);
ResultSet resultSet = statement.executeQuery();
while (resultSet.next()) {
System.out.println(resultSet.getString("name") + " - " + resultSet.getInt("age"));
}
}
}
```
在上面的代码中,我们使用 `RestHighLevelClient` 对象调用 `sql()` 方法生成 `PreparedStatement` 对象,然后执行 SQL 查询并遍历结果集。
4. 在 application.properties 文件中配置 Elasticsearch 地址和端口号:
```
elasticsearch.host=localhost
elasticsearch.port=9200
```
这样,我们就可以使用 Spring Boot 操作 Elasticsearch 7.6 进行 SQL 查询了。