OpenSearch Analyzer를 활용한 검색 기능 알아보기
·2025.04.11 19:00
핵심 내용
OpenSearch의 Analyzer를 활용해 데이터를 토큰화하고 정교한 검색 기능을 구현하는 방법을 살펴본다.
자세히 보기
OpenSearch는 Elasticsearch에서 파생된 NoSQL 기반의 검색 엔진으로, Apache Lucene을 사용하여 강력한 문서 검색 및 인덱싱 기능을 제공한다. JSON 기반의 문서를 저장하며, 동적 스키마와 매핑 설정을 통해 데이터 구조 변경에 유연하게 대응할 수 있다.
핵심 기능인 Analyzer는 입력된 데이터를 특정 규칙에 따라 토큰(token) 단위로 분리하여 인덱싱함으로써 검색의 정확도와 효율성을 높인다. 데이터 적재 시 Analyzer를 거쳐 토큰화된 데이터가 인덱싱되고, 검색 시에도 이 토큰을 기반으로 문서를 조회하는 과정을 거친다.
효율적인 검색을 위해 필드 타입 설정이 중요하다.
- keyword: 원본 데이터를 그대로 인덱싱하며 집계, 필터링, 정렬에 적합하다.
- text: Analyzer를 통해 토큰 단위로 분리되어 인덱싱되며, 정교한 검색이 필요한 경우에 사용한다.
- date, integer 등: 별도의 토큰화 없이 그대로 인덱싱되어 범위 검색 등에 활용된다.
사용자의 검색 요구사항에 맞춰 char_filter(공백/특수문자 제거), tokenizer(ngram 등), filter(소문자 변환)를 조합한 커스텀 Analyzer를 구성함으로써 검색 품질을 최적화할 수 있다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.