일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- ES
- 애자일프로그래밍
- mongoDB
- 프레임워크
- 개발자
- 백준
- 애자일기법
- JPA
- API
- Spring
- Baekjoon
- cleancode
- 알고리즘
- 그리디
- 코드
- 코딩테스트
- 개발
- framework
- 스프링
- Elasticsearch
- 그리디알고리즘
- 자바
- 엘라스틱서치
- Java
- 읽기쉬운코드
- 데이터베이스
- database
- 코딩
- spring boot
- 클린코드
- Today
- Total
목록query (6)
튼튼발자 개발 성장기🏋️

Match All Query match_all 파라미터를 사용하는 Match All Query는 색인에 모든 문서를 검색하는 쿼리다. 가장 단순한 쿼리로 일반적으로 색인에 저장된 문서를 확인할 때 사용된다. POST movie_search/_search { "query": { "match_all": {} } } Match Query 문장을 형태소 분석을 통해 텀으로 분리한 후 이 텀들을 이용해 검색 질의를 수행한다. POST movie_search/_search { "query": { "match": { "movieNm":"그대 장미" } } } Multi Match Query multi_match 파라미터를 사용한다. Match Query와는 다르게 여러 개의 필드를 대상으로 검색해야할 때 사용한다. ..

문장은 색인 시점에 텀으로 분해되고 검색 시 이 텀을 일치시켜야 검색이 가능해진다. [그림 1]은 색인 시점과 검색 시점의 기본적인 동작 과정을 표현한다. 엘라스틱서치는 색인 시점에 Analyzer를 통해 분석된 텀을 Term, 출현빈도, 문서번호와 같이 역색인 구조를 만들어 내부적으로 저장한다. 검색 시점에는 Keyword타입과 같은 분석이 불가능한 데이터와 Text타입과 같은 분석이 가능한 데이터를 구분해서 분석이 가능할 경우 분석기를 이용해 분석을 수행한다. 이를 통해 검색 시점에도 텀을 얻을 수 있으며 해당 텀으로 역색인 구조를 이용해 문서를 찾고 이를 통해 스코어 계산으로 결과를 제공한다. 검색 질의 표현 방식 엘라스틱서치에서 제공하는 검색 api는 질의(Query)를 기반으로 동작한다. 검색 ..
JPA를 사용하는 궁극적인 목적은 데이터베이스 관점의 테이블과 객체지향적 객체 사이에서 개발자가 해야할 일을 최소화하고 객체지향적으로 자유롭게 개발하기 위해서다. 따라서, JPA를 사용하려면 가장 먼저 객체를 매핑해야한다. - 객체 매핑 CREATE TABLE MEMBER ( ID VARCHAR(255) NOT NULL, NAME VARCHAR(255), AGE INTEGER, PRIMARY KEY (ID) ) 위 테이블은 아래와 같이 객체 매핑을 할 수 있다. @getter @setter @Entity @Table(name="MEMBER") public class Member { @id private String id; @Column(nullable = true, length = 255, unique ..

현대시대에는 자바로 개발되는 애플리케이션을 보면 대부분 관계형 데이터베이스를 사용하고 있다. 이 데이터베이스에서 데이터를 관리하려면 SQL을 사용해야한다. 자바 애플리케이션은 JDBC를 사용해서 DB에 접근한다. 다음 코드를 보자. 우리는 JDBC에게 SQL문을 전달하여 실행하도록 하면서 데이터를 관리한다. String sql = "SELECT NAME FROM MEMBER WHEHERE ID = ?"; ResultSet resultSet = stmt.executeQuery(sql); String name = resultSet.getString("NAME"); Member member = new Member(); member.setName(name); logger.info(member.getName())..
repository 프록시는 메소드 명으로부터 query를 가지고 오는 방법이 두 가지가 있다. 메소드 명으로부터 query를 직접 가지고 오는 방법. 수동적으로 정의된 query를 가지고 오는 방법. 이 두 가지 방법의 선택은 스토어에 따라 달라질 수 있다. 실제 어떤 query가 만들어 지는지는 어떠한 전략(?)이 있다. CREATE query 메소드의 이름을 가지고 query를 만든다. well-known prefix를 모두 제거하고 나머지 이름 부분 가지고 파싱해서 query를 만든다. (ex. findById()) USE_DECLARED_QUERY 선언 되어있는 query를 찾는다. 찾지 못하면 예외가 있으니 예외처리를 해주어야한다. 어노테이션을 사용하여서 어딘가에 정의되어 있을 수 있다. CR..
Database를 연동하게 된다면, 우리는 코드 상에서 query를 날리는 로직이 필요할 것이다. 그렇다면 우리가 해야할 일은 다음과 같을 것이다. 드라이버 로드 -> connection 생성 (혹은 DB pool 사용) -> DB 연결 -> sql auery 실행 -> 자원해제 데이터베이스에 접근 할 때마다 상기 내용과 같은 작업이 반복적으로 이루어져야만 한다는 이야기다. 이를 해결하기 위해 JDBC를 사용하는 것이다. spring JDBC를 사용하기 위해 spring-jdbc maven lib이 필요하다. 찾는 방법은 이전 글의 maven Repository를 참고하자. #12 : spring 관련 docs 및 API 참고 자료 spring을 사용하려면 spring docs는 필수로 보아야하고, 어떤..