public static String DEFAULT_INDEX = "archser";
private String scheme;
private int port;
private String host;
public String INDEX = DEFAULT_INDEX;
public static final String TYPE = "_doc";
static final String TEMPLATE_TEMPLATE_MAP_KEY = "_TEMPLATE_TEMPLATE_MAP_";
public static RequestOptions DEFAULT_OPTIONS;
private String name;
private static RestClientBuilder clientBuilder = null;
private static RestHighLevelClient restHighLevelClient = null;
static {
RequestOptions.Builder builder = RequestOptions.DEFAULT.toBuilder();
String user = PropKit.get("es.user", "");
String password = PropKit.get("es.password", "");
String scheme = PropKit.get("es.http", "http");
Integer port = PropKit.getInt("es.port",9200);
String host = PropKit.get("es.host");
if ("".equals(user) || "".equals(password)) {
DEFAULT_OPTIONS = RequestOptions.DEFAULT;
} else {
builder.addHeader("Authorization",
"Basic " + Base64.getUrlEncoder().encodeToString((user + ":" + password).getBytes()));
RequestOptions ops = builder.build();
DEFAULT_OPTIONS = ops;
}
clientBuilder = RestClient.builder(new HttpHost(host, port, scheme))
.setRequestConfigCallback(new RestClientBuilder.RequestConfigCallback() {
@Override
public RequestConfig.Builder customizeRequestConfig(
RequestConfig.Builder requestConfigBuilder) {
return requestConfigBuilder.setConnectTimeout(5000 * 1000)
.setSocketTimeout(6000 * 1000);
}
}).setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() {
@Override
public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) {
return httpClientBuilder.setDefaultIOReactorConfig(
IOReactorConfig.custom()
.setIoThreadCount(1)
.build());
}
});;
Header[] defaultHeaders = new Header[] {new BasicHeader("Authorization",
"Basic " + Base64.getUrlEncoder().encodeToString((user + ":" + password).getBytes()))};
clientBuilder.setDefaultHeaders(defaultHeaders);
restHighLevelClient = new RestHighLevelClient(clientBuilder);
}