admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
fanli/src/main/java/com/yeshi/fanli/service/manger/ElasticManger.java
@@ -1,83 +1,83 @@
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;
   }
}
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;
   }
}