java elasticsearch api 인덱스 생성
package com.elastic.apiTwo;
import java.io.IOException;
import org.apache.http.HttpHost;
import org.elasticsearch.action.admin.indices.create.CreateIndexRequest;
import org.elasticsearch.action.admin.indices.create.CreateIndexResponse;
import org.elasticsearch.action.admin.indices.delete.DeleteIndexRequest;
import org.elasticsearch.action.index.IndexRequest;
import org.elasticsearch.action.index.IndexResponse;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.action.support.master.AcknowledgedResponse;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentFactory;
import org.elasticsearch.common.xcontent.XContentType;
public class stu implements usrInfo {
RestHighLevelClient highClient = null;
@Override
public void restHighLevelClientSetting() {
// TODO Auto-generated method stub
highClient = new RestHighLevelClient(RestClient.builder(new HttpHost("192.168.240.129", 9200, "http")));
}
// 인덱스 삭제
public void remvIndex() {
DeleteIndexRequest request = new DeleteIndexRequest("twitter");
AcknowledgedResponse deleteIndexResponse = null;
try {
deleteIndexResponse = highClient.indices().delete(request, RequestOptions.DEFAULT);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 인덱스 생성
public void makeIndex() {
CreateIndexRequest request = new CreateIndexRequest("twitter");
CreateIndexResponse createIndexResponse = null;
// Index settings
request.settings(Settings.builder()
.put("index.number_of_shards", 3)
.put("index.number_of_replicas", 2));
XContentBuilder builder = null;
try {
builder = XContentFactory.jsonBuilder();
builder.startObject();
{
builder.startObject("doc");
{
builder.startObject("properties");
{
builder.startObject("name");
{
builder.field("type", "text");
}
builder.endObject();
builder.startObject("age");
{
builder.field("type", "integer");
}
builder.endObject();
}
builder.endObject();
}
builder.endObject();
}
builder.endObject();
request.mapping("doc", builder);
createIndexResponse = highClient.indices().create(request, RequestOptions.DEFAULT);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
'ELK > elasticsearch' 카테고리의 다른 글
java api2 (0) | 2019.01.25 |
---|---|
java api (0) | 2019.01.25 |
java api _search (0) | 2019.01.25 |
Java _ elasticsearch (0) | 2019.01.15 |
임시 - 주말간 정리 (0) | 2019.01.08 |