Developer with Cat
© 2021. All rights reserved.
#[🌎elasticsearch] Elasticsearch이란?
Elasticsearch 가이드북 ✈
Elasticsearch 홈페이지 가기 ✈
네이버 및 구글에서 원하는 문서를 검색하면 잘 나옵니다. 어떻게 이런게 가능할까요 ???
전문검색(Full-Text-Search 이하 FTS)은 검색 단어를 입력하면 해당하는 문서와 “관련 깊은” 자료를 보여주게 됩니다.
단순한 문자열 일치 연산으로는 네이버나 구글의 검색과 같은 결과를 보여주기는 어렵습니다. 따라서 FTS 에서는 모든 문서의 단어와 문장을 검색하여 점수를 매기게됩니다. 이 과정에서는 머신러닝과 같은 자연어 처리 과정이 포함되게 됩니다.
당연히 모든 문서의 단어와 문장을 검색하고 점수를 매긴 후 점수 순서대로 보여주기 때문에 기존의 문자열 일치 연산보다 복잡한 연산을 하게 됩니다.
다시 말하자면 전문검색은 우리가 원하는 문서와 관련깊은 문서들을 보여주는 기술이라 생각하시면 됩니다.
FTS 기능은 분석 엔진으로 제공될 수도 있고 DBMS에 기능이 탑재될 수도 있습니다.
Lucene, Solr, ElasticSearch 등 다양한 분석 엔진이 있고 Mongodb, Postgresql, AzureSQLDatabase 등 다양한 DBMS에서도 지원하고 있으니 더 검색해보는 걸 추천드립니다.
그 중에 ElasticSearch 를 소개하려고 합니다.
ElasticSearch 는 FTS 를 지원하는 오픈소스 검색 및 분석 엔진입니다. Apache Lucene을 기반으로 구축되었으며 다음과 같은 사항들을 강조합니다.
ElasticSearch 는 또한 다음 언어를 위해서 클라이언트가 공식적으로 지원합니다.
프로젝트를 진행하면서 Full Text Search 기능이 필요하여 찾다가 ElasticSearch 를 찾게 되었고 ElasticSearch 에 흥미를 가지게 되었네요.
저보다 정리를 잘한 가이드북이 있으니 꼭 보시길 추천드립니다.
다음 시간에는 ElasticSearch 를 Ubuntu에 설치하는 방법으로 찾아뵙겠습니다.