y-seo
y-seo의 딩코 기록들
y-seo
  • 분류 전체보기 (174)
    • Computer Science (49)
      • Database Design & Query Lan.. (10)
      • Network Security (16)
      • Software Engineering (6)
      • Computer Network (17)
    • Spring (50)
      • Spring-Basic (11)
      • SpringBoot-AWS (7)
      • SpringBoot&JPA (22)
      • 토비의 스프링 (3)
      • + α (7)
    • Cloud (22)
      • AWS (4)
      • GCP (1)
      • ElasticSearch (17)
    • Test (3)
    • Project (4)
    • Algorithm (24)
      • 개념 (9)
      • 문제풀이 (15)
    • AI (3)
      • About (2)
      • AIDU ez (1)
    • Error (4)
    • ETC (1)
    • Review (8)
    • IT (5)
      • SQLD (4)
      • ADsP (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

최근 글

최근 댓글

전체 방문자
오늘
어제

태그

  • 파이썬
  • 알고리즘
  • 김영한
  • 스프링
  • springboot
  • java
  • JPA
  • 컴퓨터 네트워킹 하향식 접근
  • 스프링부트
  • 네트워크보안
  • 자바
  • 인프런
  • Spring
  • 보안
  • algorithm
  • 백준
  • 네트워크
  • 알기 쉬운 정보보호개론 3판
  • Python
  • baekjoon

티스토리

hELLO · Designed By 정상우.
y-seo

y-seo의 딩코 기록들

[실습] Elasticsearch Query 사용하기
Cloud/ElasticSearch

[실습] Elasticsearch Query 사용하기

2023. 12. 29. 13:44

1. Elasticsearch Bool Query 사용하기

(1) must 조건 사용하기

GET nori_sample/_search
{
  "track_total_hits": true, 
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "document": "겨울"
          }
        }
      ]
    }
  }
}

 

(2) match_phrase_prefix 사용하기

GET nori_sample/_search
{
  "track_total_hits": true, 
  "query": {
    "bool": {
      "must": [
        {
          "match_phrase_prefix": {
            "document": "겨"
          }
        }
      ]
    }
  }
}

 

(3) should과 minumum_should_match 조건 사용하기

GET nori_sample/_search
{
  "track_total_hits": true, 
  "query": {
    "bool": {
      "should": [
        {
          "match": {
            "document": "여름"
          }
        },
        {
          "match" : {
            "document" :"겨울"
          }
        }
      ],
      "minimum_should_match" : 1
    }
  }
}

 

2. Aggregation 쓰기

(1) Visual Library 에서 Create를 하여 Lens와 데이터셋을 선택한다.

(2) bucket Aggregation을 확인한다.

Doc 하나를 여러개의 bucket으로 나누었고 bucket 별로 bar chart를 만든 모습이다.

(3) horizontal axis에서 Filters를 선택하여 filter을 쓸 수 있다.

(4) Significant Terms Aggregation 사용하기

New visualization에서 Aggregation based와 Tag cloud를 선택한다.

Bucket을 아래와 같이 설정한다.

위는 제조사 정보를 가지고 Aggregation을 한 모습이다. 

Filter에서 여성복을 검색한다.

특정 카테고리를 잡았더니 중심이 되는 제조사가 바뀌었다. Significant Term Aggregation이 적용됐다. 빈도수 기반으로 분석 못하는 것들을 빠르게 확인할 수 있다.

(5) Metric Aggregation 사용하기

(6) Pipeline Aggregation 사용하기

(7) aggregation query로 사용하기

GET nori_sample/_search
{
  "size" :0,
  "query": {
    "bool": {
      "should": [
        {
          "match": {
            "document": "여름"
          }
        },
        {
          "match": {
            "document": "겨울"
          }
        }
      ],
      "minimum_should_match": 1
    }
  },
  "aggs":{
    "result":{
      "terms": {
        "field": "label"
      }
    }
  }
}

(8) Aggregation 여러 개 query로 사용하기

GET nori_sample/_search
{
  "size" :0,
  "query": {
    "bool": {
      "should": [
        {
          "match": {
            "document": "여름"
          }
        },
        {
          "match": {
            "document": "겨울"
          }
        }
      ],
      "minimum_should_match": 1
    }
  },
  "aggs":{
    "result":{
      "terms": {
        "field": "label"
      }
    },
    "r2":
    {
      "significant_terms": {
        "field": "label"
      }
    }
  }
}

Query → Bucket → Aggregation 순서로 진행된다.

 

저작자표시 (새창열림)

'Cloud > ElasticSearch' 카테고리의 다른 글

[실습] Elasticsearch에서 Machine Learning 사용하기  (0) 2023.12.29
[개념] Elasticsearch에서의 Machine Learning  (0) 2023.12.29
[개념] Elasticsearch Query (Query DSL, Aggregation)  (0) 2023.12.29
[실습] Elasticsearch로 inverted index 추출하기, reindex 하기  (1) 2023.12.29
[이론] Elasticsearch 형태소 분석기  (0) 2023.12.29
    'Cloud/ElasticSearch' 카테고리의 다른 글
    • [실습] Elasticsearch에서 Machine Learning 사용하기
    • [개념] Elasticsearch에서의 Machine Learning
    • [개념] Elasticsearch Query (Query DSL, Aggregation)
    • [실습] Elasticsearch로 inverted index 추출하기, reindex 하기
    y-seo
    y-seo

    티스토리툴바