/\*\*
\* ES配置类
\* @author zwmac
\*/
@Configuration
@Data
public class ElasticSearchConfig {
@Value("${es.host}")
private String host;
@Value("${es.port}")
private int port;
@Value("${es.username}")
private String loginName;
@Value("${es.password}")
private String password;
private RestHighLevelClient client;
@Bean
public RestHighLevelClient client() {
final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
credentialsProvider.setCredentials(AuthScope.ANY,
new UsernamePasswordCredentials(loginName, password));
HttpHost[] httpHostArray = new HttpHost[1];
httpHostArray[0] = new HttpHost(host, port);
RestClientBuilder restClientBuilder = RestClient.builder(httpHostArray)
.setHttpClientConfigCallback(httpClientBuilder -> {
httpClientBuilder.disableAuthCaching();
return httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
});
restClientBuilder.setRequestConfigCallback(requestConfigBuilder -> requestConfigBuilder
.setConnectTimeout(60000)
.setSocketTimeout(150000));
client = new RestHighLevelClient(
restClientBuilder
);
return client;
}
}
3.使用
@Resource
private RestHighLevelClient restHighLevelClient;
/\*\*
\* 查询温湿度24小时平均值
\* @param deviceCode 设备编码
\* @param startTime 开始时间
\* @param endTime 结束时间
\* @param humName 湿度字段名
\* @param tempName 温度字段名
\* @return 温湿度24小时平均值
\*/
private TreeMap<