New file |
| | |
| | | package com.yeshi.fanli.service.manger;
|
| | |
|
| | | import javax.annotation.Resource;
|
| | |
|
| | | import org.apache.http.Header;
|
| | | import org.apache.http.HeaderElement;
|
| | | import org.apache.http.HttpHost;
|
| | | import org.apache.http.ParseException;
|
| | | import org.apache.http.auth.AuthScope;
|
| | | import org.apache.http.auth.UsernamePasswordCredentials;
|
| | | import org.apache.http.client.CredentialsProvider;
|
| | | import org.apache.http.impl.client.BasicCredentialsProvider;
|
| | | import org.apache.http.impl.nio.client.HttpAsyncClientBuilder;
|
| | | import org.elasticsearch.client.RestClient;
|
| | | import org.elasticsearch.client.RestClientBuilder;
|
| | | import org.elasticsearch.client.RestClientBuilder.HttpClientConfigCallback;
|
| | | import org.elasticsearch.client.RestHighLevelClient;
|
| | | import org.springframework.stereotype.Component;
|
| | |
|
| | | @Component
|
| | | public class ElasticManger {
|
| | |
|
| | | @Resource(name = "httpHostbean")
|
| | | private HttpHost httpHost;
|
| | |
|
| | | // 初始化api客户端
|
| | | public static RestHighLevelClient client = null;
|
| | |
|
| | | public RestHighLevelClient getClient() {
|
| | | if (client == null) {
|
| | | final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
|
| | | credentialsProvider.setCredentials(AuthScope.ANY,
|
| | | new UsernamePasswordCredentials("elastic", "banliapp2019"));
|
| | |
|
| | | RestClientBuilder builder = RestClient.builder(httpHost)
|
| | | .setHttpClientConfigCallback(new HttpClientConfigCallback() {
|
| | | @Override
|
| | | public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) {
|
| | | return httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
|
| | | }
|
| | | });
|
| | |
|
| | | Header hear[] = new Header[] { new Header() {
|
| | |
|
| | | @Override
|
| | | public String getValue() {
|
| | | return "application/json; charset=UTF-8";
|
| | | }
|
| | | |
| | | @Override
|
| | | public String getName() {
|
| | | return "Content-Type";
|
| | | }
|
| | | |
| | | @Override
|
| | | public HeaderElement[] getElements() throws ParseException {
|
| | | return null;
|
| | | }
|
| | | }, new Header() {
|
| | | |
| | | @Override
|
| | | public String getValue() {
|
| | | return "en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7";
|
| | | }
|
| | | |
| | | @Override
|
| | | public String getName() {
|
| | | return "Accept-Language";
|
| | | }
|
| | | |
| | | @Override
|
| | | public HeaderElement[] getElements() throws ParseException {
|
| | | return null;
|
| | | }
|
| | | },
|
| | |
|
| | | };
|
| | | builder.setDefaultHeaders(hear);
|
| | | client = new RestHighLevelClient(builder);
|
| | | }
|
| | | return client;
|
| | | }
|
| | | }
|