OpenSearch 종목 검색 인덱싱 설계 결
검색엔진 프로젝트에서 OpenSearch를 처음 사용해봤습니다. 종목 검색처럼 실시간성과 정확도가 동시에 중요한 경우, 일반 DB 조회보다 역색인 기반 검색이 유리하다는 것을 이해하고 선택했습니다. 설계 단계에서 가장 먼저 고려한 것은 어떤 필드를 검색 가능하게 할지였는데, 종목명, 코드, 산업군을 분리해 인덱스 매핑을 정의했습니다.
자동완성 기능을 위해 edge n-gram 분석기를 적용했고, 초성 검색처럼 한국어 특성을 고려한 분석기 설정이 까다로웠습니다. 쿼리 정확도와 성능을 함께 높이기 위해 정확 매칭과 퍼지 매칭을 점수 기반으로 조합했고, 관련도 높은 결과가 상위에 오도록 부스팅 설정을 조정했습니다. 결과적으로 응답 시간이 목표 기준 이하로 유지됐습니다. OpenSearch 설계는 인덱스 매핑이 검색 품질과 성능 모두를 결정한다는 결을 얻었습니다.