본문 바로가기

Elastic Seaerch4

ElasticSearch 사용자 사전, 동의어, 불용어 적용 안녕하세요. 이번 포스팅은 검색엔진 중 하나인 ElasticSearch 줄여서 ES에서 사용자 사전, 동의어, 불용어를 작성하는 방법을 포스팅 하려고 합니다. 검색 엔진에서 색인 작업을 하면서 사용자가 원하는 특정 단어로 검색, 비슷한 단어에 대해서 검색 또는 검색이 되면 안되는 단어를 구분하여 색일을 할 수 있는 ElasticSearch의 기능입니다. 1. 사용자 사전 - 사용자 사전이란 등록해둔 단어로 색인을 진행하며 해당 단어로 검색을 할 수 있게 해주는 사전이다. - 복합 명사와 같이 두가지 이상의 단어가 합쳐져서 하나의 단어로 사용되는 단어들에 대한 정의를 해준다. - 사전을 작성할 때에는 단일어와 복합어를 구분해서 작성을 한다. - 단일어의 경우 단일어 하나만 작성, 복합어의 경우 복합어를 작.. 2023. 6. 9.
ElasticSearch Mapping 구조 추가 및 Reindex 인덱스의 매핑 구조 1. 조회 - GET Method 사용 - ES 접근 IP 주소:9200/인덱스명/_mapping 2. 추가 - PUT Method 사용 - ES 접근 IP 주소:9200/인덱스명/_mapping { "properties":{ "추가할 필드" : { "type" : "타입지정" ... } } } ※ 이미 존재하는 필드명과 추가할 필드명이 같으면 에러 발생 3. 수정 - ES에서 한번 등록된 매핑 구조는 수정이 될 수 없다. - 한번 생성할 때 신중하게 생성을 해야 한다. Reindex - 위에서 적어 놓았듯이 ES에서는 이미 정의된 매핑 구조는 수정이 될 수 없다. - 특정 필드의 타입을 변경 하고 싶을 때는 동일한 구조의 매핑에서 특정 필드의 타입을 변경 시킨 새로운 인덱스를 생성 .. 2022. 6. 16.
ElasticSearch mapping 매핑이란? - RDBMS의 스키마와 비슷한 역할 - json 형태의 데이터를 루씬이 이해할 수 있도록 바꿔주는 작업 - 다이나믹 매핑 - json 도큐먼트의 데이터 타입에 맞춰 자동으로 인덱스 매핑을 해주는것 - 명시적 매핑 - 인덱스를 생성할 때 인덱스 매핑을 직접 정의하거나 mapping API를 통해 매핑을 지정 매핑 타입 데이터 타입 설명 text* 전문 검색이 필요한 데이터로 텍스트 분석기가 텍스트를 작은 단위로 분리 keyword* 텍스트 분석을 하지 않고 원문을 통째로 인덱싱 date 날짜 / 시간 Bye, short, integer, long 정수형 타입 scaled_float, half_float, double, float 실수형 타입 scaled_float : float 데이터에 특정 .. 2022. 5. 20.
ElasticSearch란? ElasticSearch(ES)란? - ElasticSearch는 Apache Lucene에서 기반이 되어 구축되어 대량의 데이터를 저장, 분석, 검색을 할 수 있는 검색 및 분석 엔진이다. - 대용량의 DB 데이터에서 문자열 검색의 속도 및 DB 과부하를 방지하기 위하여 사용 - 대용량의 데이터를 분석하기 위하여 사용 ElasticSearch 구성 요소 1. Document (도큐먼트) - 실제 데이터를 저장하는 단위로 Json 형태이다. - 하나의 도큐먼트는 여러 필드와 값을 갖는다. (field - value) - 모든 도큐먼트는 반드시 하나의 인데스에 포함 - 도큐먼트를 인덱스에 포함시키는 것을 인덱싱(indexing)이라고 표현 - RDBMS의 레코드와 비슷한 개념 2. Index (인덱스) -.. 2022. 5. 20.