Sphinx 검색엔진은 2001년 Andrew Aksyonoff에 의해 개발된 오픈소스 검색엔진으로써, 다양한 OS(Linux,Windows...)에서 구동이 가능하며, MySQL과 MariaDB에 연동하여 활용될 수 있습니다.
Sphinx는 일반적인 SQL 질의와 같이 정확도, 가격, 업로드 날짜 순의 정렬기능과 N-gram Search(검색어의 순서와 띄어쓰기를 무시한 검색), Parse Search (구문 검색), Field search (Column에 따른 검색) 등 다양한 기능을 지원하며 SQL의 Like질의와 같은 Wildcard Search 또한 지원합니다.
Sphinx는 검색엔진을 구동하기 전 미리 indexing을 진행하므로 정적인 Table에서 유리한 검색엔진이며 Streaming되는 데이터의 처리에서는 취약한 면을 보입니다.
또한 Sphinx는 JDBC,ODBC와 유사한 형태로 다양한 언어의 API를 제공하여 외부 네트워크에서 서버에 접근하여 검색엔진에 질의하고 결과를 받아올 수 있어 웹 서비스에서의 응용이 가능하며 엔진 검색엔진의 rank mode, attribute의 정렬 방법 등을 설정하여 원하는 검색환경을 설정할 수 있습니다.
[그림1] Sphinx API를 활용한 검색 Application

Sphinx_searchEngine_setup
.pptx
Download PPTX • 684KB