본문 바로가기

공부방

(97)
elasticsearch - 질의(QueryDSL) term: 특정 필드에 특정 값을 가져오고 싶을 때 사용. terms: 특정 필드에 여러 값들 중 한개라도 존재하는 값을 가져고오 싶을 때 사용. match: 특정 필드에 여러 값들을 and 또는 or 조건을 이용하고 이에 만족하는 결과들만 가져올 때 사용. multi_match: 여러 필드에 여러 값들을 조합을 이용해서 가져오고 싶을 때 사용. match_phrase: 일치하는 문장이 속한 결과값을 가져오고 싶을 때 사용. 0. 연습 data 받아오기 검색 실습을 하기 위해 데이터를 입력하겠다. 입력할 데이터 예제 파일은 깃허브에서 내려받았다. https://github.com/wikibook/elasticsearch/blob/master/05.%EA%B2%80%EC%83%89/5_1_books.jso..
elastic search - 검색 검색 명령어에 대해 알아보기 전에 이전에 나왔던 elastic search 용어에 대해서 다시 한번 더 보고 넘어가도록 하자. 검색 방법에는 두가지가 존재한다. 1. URI를 이용한 검색 - q(query) - df(default field) - default_operator - _source - fields - sort - from 2. 리퀘스트 바디 검색 - size, from, fields - sort - partial_fields, fielddata_fields - highlight 자 이제 하나하나를 알아보고, 돌아와서 목차를 보면서 정리해보도록 하자. 0. 연습 data 받아오기 검색 실습을 하기 위해 데이터를 입력하겠다. 입력할 데이터 예제 파일은 깃허브에서 내려받았다. https://git..
디자인 패턴 - strategy pattern Duck public abstract class Duck { public void quack() { System.out.println("꽥꽥"); } } Duck 클래스를 상속받는 3개의 클래스를 확인해 보자. public class Duck1 extends Duck { } public class Duck2 extends Duck { @Override public void quack() { System.out.println("-무음-"); } } public class Duck3 extends Duck { @Override public void quack() { System.out.println("-무음-"); } } 무음이었던 2번 오리의 quak 메서드가 변경된다면 어떻게 해야 할까요? 아래와 같이 ..
mysql - 2일차 데이터 형식 [TEXT 형식] TEXT : 1 ~ 65535 바이트 LONGTEXT : Join join의 명령어 형태는 아래와 같다. select * from [테이블1] inner join [테이블2] on [조인 조건] where [검색 조건] Group by 의 조건을 Having에 명시해 주는 것과 같이 join의 조건은 on절에 명시를 해주면 된다. join의 종류는 4가지가 존재한다. Inner Join, Left outer join, Right outer join, Full outer join 한개씩 차근차근 살펴보도록 하자. Inner Join 앞서 예시로 보여주었던 명령어가 inner join에 대한 것이었다. select * from [테이블1] inner join [테이블2] on ..
mysql mysql에 대해서 공부한 내용을 정리해 봅니다. SQL 구문 순서 SQL 구문의 순서는 먼저 다음과 같습니다. 작성 순서 -------------------------------------- (실행 순서) SELECT 컬럼명 --------------------- (5) FROM 테이블명 ------------------- (1) WHERE 테이블 조건 --------------- (2) GROUP BY 컬럼명 -------------------- (3) HAVING 그룹 조건 ----------------- (4) ORDER BY 컬럼명 -------------------- (6) 1. FROM : SQL은 구문이 들어오면 테이블을 가장 먼저 확인합니다. 2. WHERE : 테이블명을 확인했으니, 테..
elasticsearch - bucket 자료는 아래에서 확인할 수 있습니다. https://github.com/minsuk-heo/BigData/tree/master/ch04 group by 라고 보면 된다. 농구팀을 볼 때 A팀, B팀이 존재하는데 팀별로 값을 도출해 내고 싶을 대 사용하는 것이다. basketball_mappin.json 파일을 살펴보자. string -> text로 타입을 변경해 주었으며 https://stackoverflow.com/questions/47452770/no-handler-for-type-string-declared-on-field-name submit_date -> date로 변경을 해주었다. https://www.elastic.co/guide/en/elasticsearch/reference/current..
elasticsearch - metric aggregation 조합을 통해서 어떠한 값을 도출해낼때 metric aggregation을 사용합니다. 실습 자료 https://github.com/minsuk-heo/BigData/blob/master/ch03/simple_basketball.json 아래의 커맨드를 이용하여 데이터를 저장하고, 저장한 데이터를 조회합니다. curl -XPOST 'localhost:9200/_bulk?pretty' --header 'content-type:application/json' --data-binary @simple_basketball.json 데이터 조회 curl -XGET 'localhost:9200/basketball/record/_search?pretty' aggregation 파일의 내용은 아래와 같다. aggregat..
elasticsearch - search 실습 자료는 아래에서 받으실 수 있습니다. https://github.com/minsuk-heo/BigData/blob/master/ch03/simple_basketball.json 두개의 정보가 들어가 있는 파일이 존재한다. (simple_basketball.json) 한개는 점수가 30점, 한개는 점수가 20점이다. 아래의 코드로 bulk 데이터를 저장해보자 curl -XPOST 'localhost:9200/_bulk?pretty' --header 'content-type: application/ json' --data-binary @simple_basketball.json 저장한 데이터를 다시 조회해보자. curl -XGET localhost:9200/basketball/record/_search?..