인벤오 디지털 라이브러리 외부 순위 엔진 통합
초록
인벤오에 최신 검색 엔진인 솔라와 자피안을 연결하여 단어 유사도 순위 기능을 강화하고 확장성을 검증한 연구
상세 분석
본 논문은 인벤오 디지털 라이브러리의 검색 및 순위 기능을 현대 정보 검색 시스템과 연계함으로써 성능과 확장성을 동시에 개선하고자 한다 먼저 기존 인벤오의 내부 순위 알고리즘은 TF‑IDF 기반 단순 가중치와 제한된 색인 구조로 대규모 데이터셋에서 정확도와 응답 시간이 떨어지는 한계가 있었다 이를 보완하기 위해 솔라와 자피안이라는 두 개의 오픈소스 검색 엔진을 후보로 선정하였다 솔라는 풍부한 스키마 정의와 강력한 파이프라인 처리, 분산 인덱싱을 제공하며 자피안은 경량 C++ 기반으로 메모리 효율이 뛰어나고 순수 파이썬 인터페이스를 통해 손쉬운 통합이 가능하다는 장점을 가지고 있다 논문은 두 엔진을 동일한 테스트 베드에 배치하여 색인 속도, 질의 처리 시간, 단어 유사도 점수 산출 방식 등을 비교하였다 그 결과 솔라는 복합 질의와 페이징 처리에서 우수한 성능을 보였으며 자피안은 단일 질의와 메모리 사용량 측면에서 경쟁력을 나타냈다 이러한 특성을 바탕으로 저자는 시스템 독립적인 ‘브리지’ 구조를 설계하였다 브리지는 추상화된 인터페이스와 플러그인 메커니즘을 제공하여 향후 다른 검색 엔진을 손쉽게 교체할 수 있도록 한다 브리지 내부에서는 질의 전처리, 토큰화, 스테밍, 그리고 엔진별 API 호출을 일관된 흐름으로 관리한다 또한 엔진별 어댑터를 구현하여 색인 생성, 업데이트, 삭제 작업을 브리지에 위임하고, 순위 결과는 공통 포맷으로 반환되어 인벤오의 기존 UI와 호환된다 구현 단계에서는 파이썬 기반의 인벤오 모듈에 새로운 어댑터 클래스를 추가하고 설정 파일에 엔진 선택 옵션을 노출하였다 이를 통해 관리자는 설정만으로 솔라와 자피안 중 하나를 선택하거나 두 엔진을 병렬로 운영할 수 있다 이후 저자는 대규모 데이터셋(수백만 레코드)과 동시 사용자 부하를 가정한 확장성 테스트를 수행하였다 테스트 결과 솔라는 클러스터링을 통해 수천 개의 질의 초당 처리량을 유지했으며, 자피안은 단일 노드에서도 메모리 사용량을 최적화하여 높은 처리량을 달성하였다 또한 브리지 레이어는 엔진 교체 시에도 최소한의 코드 변경만으로 시스템 가동 시간을 유지할 수 있음을 입증하였다 이러한 설계와 실험 결과는 인벤오가 기존의 폐쇄형 검색 구조에서 벗어나 모듈형 외부 검색 엔진과의 연동을 통해 지속 가능한 확장성을 확보할 수 있음을 보여준다