[ELK / match] 검색 키워드가 포함된 데이터를 조회하고 싶을 때

2025. 9. 26. 02:05·ElasticSearch
728x90
반응형
SMALL

검색을 할때 사용할 수 있는 속성은 match가 있습니다. match는 must와 함께 사용하고, text타입의 데이터를 조회

text는 유연한 검색에 쓰이는데 must는 score에 영향을 주기 때문

 

must - score에 영향을 주므로 match 사용 - text 타입 조회

filter - score에 영향을 주지 않으므로 term 또는 terms 사용 - text를 제외한 타입 조회

 

그럼 예시를 통해 확인해보자.

/boards라는 인덱스를 생성하기 전에 이전에 존재하는 boards를 삭제하고 새로 정의

그리고 매핑을 정의한다. 매핑에는 title이라는 데이터를 생성하고 type은 text로 설정

DELETE /boards

PUT /boards
{
    "mappings": {
        "properties": {
            "title":{
                "type": "text"
            }
        }
    }
}

 

결과는 아래처럼 뜸

 

_doc 을 통해 새로운 title 데이터를 추가한다.

POST /boards/_doc

{
  "title": "티스토리 블로그 글쓰기"
}

 

결과는 성공적으로 생성된것을 확인할 수 있음

 

다음은 _search를 통해 생성한 title을 검색해보자.

 

GET /boards/_search
{
    "query": {
        "match": {
          "title": "블로그"
        }
    }
}

 

결과는 성공적으로 1개를 hit로 확인가능

참고로 이때는 nori_tokenizer가 아닌 standard를 사용중이기에 일부 단어를 포함하는 검색은 할 수 없다.

 

 

다음은 블로그의 '블로'만 포함한 단어를 찾는 쿼리이다.

GET /boards/_search
{
    "query": {
        "match": {
          "title": "블로"
        }
    }
}

 

결과는 아까 말했듯이 블로그라는 음절이 인덱스에 저장되어 있기 때뭉네 블로는 찾을 수 없어 조회되지 않는다.

 

저장된 공간을 간단히 도식화하면 다음과 같다.

728x90
반응형
SMALL

'ElasticSearch' 카테고리의 다른 글

[ELK / term] 특정 값과 정확하게 일치하는 데이터를 조회하고 싶을 때  (2) 2025.09.27
데이터 분석을 위한 ElastiSearch의 Query  (0) 2025.09.26
[ElasticSearch] ElasticSearch 개념  (0) 2025.02.28
[Logging] ElasticSearch와 Logstash, Kibana를 사용한 로그 모니터링  (1) 2025.02.08
'ElasticSearch' 카테고리의 다른 글
  • [ELK / term] 특정 값과 정확하게 일치하는 데이터를 조회하고 싶을 때
  • 데이터 분석을 위한 ElastiSearch의 Query
  • [ElasticSearch] ElasticSearch 개념
  • [Logging] ElasticSearch와 Logstash, Kibana를 사용한 로그 모니터링
공부하고 기억하는 공간
공부하고 기억하는 공간
IT 비전공자로 시작하여 훌륭한 개발자가 되기 위해 공부하고 있는 공간입니다. 틀린 내용이나 부족한 부분이 있으면 댓글로 알려주세요 바로 수정하겠습니다.
  • 공부하고 기억하는 공간
    IT - railroad
    공부하고 기억하는 공간
  • 전체
    오늘
    어제
    • 분류 전체보기 (329)
      • 면접 준비 (45)
        • OS (6)
        • Spring Security (0)
        • Java (3)
        • DB (11)
        • Network (3)
      • ElasticSearch (5)
      • Kafka (5)
      • Spring (60)
        • Spring Cloud (7)
        • Security6 (5)
        • JPA (12)
        • 프로젝트 리팩토링 회고록 (4)
        • Logging (8)
        • Batch (2)
      • Redis (17)
        • Redis 개념 (8)
        • Redis 채팅 (5)
        • Redis 읽기쓰기 전략 (1)
      • AWS (11)
      • 리눅스 (29)
        • 리눅스 마스터 2급 (5)
        • 네트워크(기초) (7)
        • 리눅스의 이해 (6)
        • 리눅스의 설치 (2)
        • 리눅스 운영 및 관리 (6)
      • JAVA-기초 (16)
        • JAVA기본 (11)
        • Design Pattern (5)
      • JSP (27)
        • JSP 기본 개념 (10)
        • JSP (1)
      • SQL (1)
      • TIL (36)
      • 문제 풀이 (39)
        • Programmers (9)
        • 백준 문제풀이 (28)
      • JavaScript (10)
      • HTML (17)
      • Ngrinder (1)
        • Ngrinder 문서 정리 (1)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      자바 반복문
      자바기초
      리눅스마스터2급정리
      자바 알고리즘
      Spring Data Redis
      springsecurity
      redis
      자바
      java
      JavaScript
      리눅스마스터2급
      CSS
      jsp기초
      프로그래머스
      spring redis
      JSP
      스프링프레임워크
      자바스크립트
      레디스
      자바 면접질문
      jsp request
      redis 채팅
      Spring
      Springframework
      HTML
      JS
      자바 면접
      리눅스
      Til
      백준
    • 최근 댓글

    • 최근 글

    • 250x250
    • hELLO· Designed By정상우.v4.10.3
    공부하고 기억하는 공간
    [ELK / match] 검색 키워드가 포함된 데이터를 조회하고 싶을 때
    상단으로

    티스토리툴바