빅데이터/Elasticsearch 6

RestHighLevelClient로 구현한 idempotence 데이터 적재

SHA-256이란? http://wiki.hash.kr/index.php/SHA256 SHA256 - 해시넷 SHA-256은 SHA(Secure Hash Algorithm) 알고리즘의 한 종류로서 256비트로 구성되며 64자리 문자열을 반환한다. SHA-256은 미국의 국립표준기술연구소(NIST; National Institute of Standards and Technology)에 의해 공표된 wiki.hash.kr SHA-256 해시 함수는 어떤 길이의 값을 입력하더라도 256비트의 고정된 결과값을 출력한다. 일반적으로 입력값이 조금만 변동하여도 출력값이 완전히 달라지기 때문에 출력값을 토대로 입력값을 유추하는 것은 거의 불가능하다. 아주 작은 확률로 입력값이 다름에도 불구하고 출력값이 같은 경우가 ..

ElasticsearchClient 7.17.7 기준 java client example code

1) host, port 주입 RestClient restClient = RestClient.builder( new HttpHost("localhost", 9200, "http"), new HttpHost("localhost", 9201, "http")).build(); BulkRequest.Builder br = new BulkRequest.Builder(); ElasticsearchTransport transport = new RestClientTransport(restClient, new JacksonJsonpMapper()); ElasticsearchClient esClient = new ElasticsearchClient(transport); 2) String으로 된 JSON 데이터 정의 Str..

엘라스틱서치에 중복 id로 값을 보내면?

엘라스틱서치에 중복id로 값을 보내면 버젼이 올라간다. $ curl --location --request PUT 'localhost:9200/books/book/2d12dd2' \ --header 'Content-Type: application/json' \ --data-raw '{ "_id":"1", "tile": "Nesoy Elastic Guide", "author": "Nesoy", "date": "2019-01-15", "pages": 250 }' { "_index": "books", "_type": "book", "_id": "2d12dd2", "_version": 2, "result": "updated", "_shards": { "total": 2, "successful": 1, "faile..

Elasticsearch, Logstash, Kibana 버젼별 하위호환표

엘라스틱서치, 로그스태시, 키바나는 각 버젼별 호환성을 따집니다. 그러므로 각 제품별로 하위호환표를 참고하여 버젼업그레이드를 진해해야만 합니다. 아래는 5.x버젼부터 7.x 버젼까지의 각 제품별 하위호환표 입니다. Elasticsearch Kibana X-Pack Beats^* Logstash^* ES-Hadoop (jar)* APM Server App Search 5.0.x 5.0.x 5.0.x 1.3.x-5.6.x 2.4.x-5.6.x 5.0.x-5.6.x 5.1.x 5.1.x 5.1.x 1.3.x-5.6.x 2.4.x-5.6.x 5.0.x-5.6.x 5.2.x 5.2.x 5.2.x 1.3.x-5.6.x 2.4.x-5.6.x 5.0.x-5.6.x 5.3.x 5.3.x 5.3.x 1.3.x-5.6.x ..

엘라스틱서치에서 field 와 field.keyword 의 차이(text와 keyword)

엘라스틱서치와 키바나를 사용하여 데이터를 조회하다보면 아래와 같이 index pattern이 색인되어 있는것을 종종 볼 수 있습니다. field명이 그대로 나타나는 경우와 field.keyword로 나타나는 경우 입니다. 분명히 field명 key와 value(string)으로 넣었는데 둘의 차이가 무었일까요? text와 keyword 엘라스틱서치 5버전 이후로는 string type은 text와 keyword타입으로 변경되었습니다. 따로 명시적으로 mapping을 하지 않았다면 아래와 같이 엘라스틱서치에 들어가게 됩니다. Input key/value : { "some_field": "string value" } In elasticsearch: { "some_field": { "type" "text", ..

Python으로 elasticsearch에 document 넣기 예제 및 결과물

개요 Elasticsearch과 kibana를 통해 document를 저장하고 시각화 할 수 있다. Elasticsearch에 document를 넣기 위해 여러 언어를 사용할 수 있지만 python을 사용하면 한결 간단한 코드로 작성이 가능하다. Elasticsearch Client List는 아래와 같다. - Java REST Client [7.3] - Java API [7.3] - JavaScript API [7.x] - Ruby API [7.x] - Go API .NET API [7.x] - PHP API [7.0] - Perl API - Python API - Community Contributed Clients 출처 > https://www.elastic.co/guide/en/elasticsea..