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