java elasticsearch ( 주말에 정리할 코드 )
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 |