package com.Elastic.srv;


import org.apache.http.HttpHost;

import org.elasticsearch.client.RestClient;

import org.elasticsearch.client.RestClientBuilder;

import org.elasticsearch.client.RestHighLevelClient;


public class ElasticSearchConnector {

static private RestHighLevelClient _client = null;

private ElasticSearchConnector() {

}

static public RestHighLevelClient getClient() {

if (_client == null) {

_client = new RestHighLevelClient(

RestClient.builder(

new HttpHost("192.168.17.136", 9200, "http")));

}

return _client;

}

}




package com.Elastic.srv;


import java.io.IOException;


import org.apache.lucene.queryparser.flexible.core.builders.QueryBuilder;

import org.elasticsearch.action.search.SearchRequest;

import org.elasticsearch.action.search.SearchResponse;

import org.elasticsearch.client.RequestOptions;

import org.elasticsearch.client.RestHighLevelClient;

import org.elasticsearch.index.query.MatchAllQueryBuilder;

import org.elasticsearch.index.query.QueryBuilders;

import org.elasticsearch.search.SearchHit;

import org.elasticsearch.search.SearchHits;

import org.elasticsearch.search.builder.SearchSourceBuilder;


public class MAIN {

static private String defaultIndex = "hex_color_list"; // index

static private RestHighLevelClient rhlc = null;

static public void main(String[] args) throws IOException {

System.out.println("test ... 중");

rhlc =  ElasticSearchConnector.getClient();

doMatchingQuery();

//defaultFullTextSearch();

System.out.println("test ... 끝");

}

static public void doMatchingQuery() throws IOException {

// [1] create SearchRequest

SearchRequest sr = new SearchRequest();

SearchSourceBuilder sb = new SearchSourceBuilder();

sb.query(QueryBuilders.matchQuery("name", "b84c4c"));

sr.indices(defaultIndex);

sr.source(sb);

SearchResponse response = rhlc.search(sr, RequestOptions.DEFAULT);

SearchHits searchHits = response.getHits();

//System.out.println(searchHits);

// 매칭 되는 갯수 

long totalHits = searchHits.getTotalHits();

// 얼마만큼 매칭 되는지 

double maxScore = searchHits.getMaxScore();

System.out.println(totalHits);

System.out.println(maxScore);

for (SearchHit hit : searchHits) {

// totalHits 

System.out.println(hit.getSourceAsString());

}

}

static public void defaultFullTextSearch() throws IOException {

// [1] create SearchRequest

SearchRequest sr = new SearchRequest();

SearchSourceBuilder sb = new SearchSourceBuilder();

sb.query(QueryBuilders.matchAllQuery());

sr.indices(defaultIndex);

sr.source(sb);

SearchResponse response = rhlc.search(sr, RequestOptions.DEFAULT);

SearchHit[] searchHits = response.getHits().getHits();

//System.out.println(searchHits);

for (SearchHit hit : searchHits) {

System.out.println(hit.getSourceAsString());

}

}

}



'ELK > elasticsearch' 카테고리의 다른 글

공부중  (0) 2019.03.18
java api - nestedQuery  (0) 2019.03.12
python + elasticsearch  (0) 2019.02.21
python + elasticsearch + 현재 정리 중  (0) 2019.02.19
python + elasticsearch  (0) 2019.02.16