검색엔진

    Reindex, Alias 활용해 문서 재색인하기 (비동기, 무중단)

    Elasticsearch Reindexing은 데이터의 이동, 수정, 또는 클러스터 업데이트 시 중요한 역할을 하는 프로세스입니다. 데이터의 성능 향상, 새로운 매핑의 적용, 또는 클러스터 확장을 위해 필요한 작업으로, Elasticsearch의 핵심 기능 중 하나로 꼽힙니다. Reindexing은 주로 데이터 업데이트를 위해 사용됩니다. 기존 데이터 스키마를 새로운 구조로 변경하거나 업데이트해야 할 필요가 있을 때 사용합니다. 새로운 필드의 추가나 기존 필드의 삭제 등의 매핑 변경을 수행할 수 있습니다. 본 글에서는 Reindexing이 어떻게 작동하는지, 그리고 어떻게 효율적으로 사용할 수 있는지, 무중단으로 새로운 인덱스를 적용할 수 있을지 살펴보겠습니다. Elasticsearch 시리즈는 7.1x..

    [Basic] Elasticsearch 문서 인덱싱 - Index, Delete, Update, Bulk

    이번 글에서는 지난 글에서 직접 구축했던 인덱스에 도큐먼트를 인덱싱하고, 삭제하고, 업데이트 하는 방법을 알아보고자 합니다. 지난 글을 읽지 않았어도, 인덱스 생성에 관해 매핑, 분석, 설정 등 기본적인 지식을 알고 있다면, 본 글을 쉽게 이해하실 수 있습니다! Elasticsearch 시리즈는 7.10 버전을 기본으로 설명합니다. 필요하다면 8.0 이후의 버전 내용을 추가로 설명합니다. 도큐먼트를 인덱싱 할 대상 인덱스는 다음과 같이 정의하였습니다. PUT /sample-user-index { "mappings": { "properties": { "age": { "type": "integer", }, "level": { "type": "keyword" }, "name": { "type": "text",..

    [Basic] Elasticsearch 인덱스(Index) 구성하기 (2)

    오늘은 지난 글에 이어서, 인덱스를 구성하기 위한 요소들에 대해 알아봅시다. 지난 글에서는 인덱스 샤드 수, 레플리카 수 등 일반적인 설정을 정의할 수 있는 Settings와 각 필드의 속성과 전체적인 스키마를 정의하는 Mappings에 관해 알아봤습니다. 오늘은 나머지 2가지, 문자열 필드의 분석기 등을 설정하는 Analysis와 검색 시의 유사도를 정의하는 Similarity에 대해 추가로 알아보겠습니다. Elasticsearch 시리즈는 7.10 버전을 기본으로 설명합니다. 필요하다면 8.0 이후의 버전 내용을 추가로 설명합니다. 분석(Analysis) 인덱스 분석 모듈은 문자열 필드를 개별 용어(term)로 변환하는 데 사용할 수 있는 분석기를 구성하도록 하는 레지스트리 역할을 합니다. 텍스트 분..

    [Basic] Elasticsearch에 대해 알아봅시다!

    엘라스틱서치(Elasticsearch, ES) 검색엔진에 대해 차근차근 알아가는 시리즈 글을 써볼 예정입니다. 해당 시리즈는 ES의 색인과 검색, 형태소 분석기 등 기본적인 기능 또는 검색엔진 구축 과정에서의 이슈 해결을 주제로 이어질 예정입니다. 오늘은 그 첫 번째로 Elasticsearch의 기본 개념에 대해 전반적으로 살펴봅시다! Elasticsearch 란? You know, for search (and analysis) 당연히 검색(그리고 분석)을 위한 엔진입니다! ES는 엘라스틱 스택(Elastic Stack)의 핵심인 분산 검색 및 분석 엔진입니다. Elastic Stack 중 로그스태시(Logstash)와 비츠(Beats)는 데이터 수집, 집계, 보강을 용이하게 하여 ES에 저장할 수 있게..