ElasticSearch: 두 판 사이의 차이
잔글편집 요약 없음 |
잔글편집 요약 없음 |
||
| 2번째 줄: | 2번째 줄: | ||
[[분류:인터넷]] | [[분류:인터넷]] | ||
'''ElasticSearch'''(엘라스틱서치)는 2010년 2월 8일 처음으로 공개된 오픈 소스 검색 엔진이자 NoSQL 데이터베이스 시스템으로, 기업용 검색 엔진으로는 최고의 점유율을 가지고 있다. 여러분이 이용하는 좀 큰 사이트다 싶으면 검색창에 뭘 입력하고 검색하면 높은 확률로 이 소프트웨어가 작동하고 있을 것이다. 특히 사이트 내에 데이터도 많고 이용자 규모가 큰데 '''검색어 자동완성 기능'''까지 있으면 거의 100% | '''ElasticSearch'''(엘라스틱서치)는 2010년 2월 8일 처음으로 공개된 오픈 소스 검색 엔진이자 NoSQL 데이터베이스 시스템으로, 기업용 검색 엔진으로는 최고의 점유율을 가지고 있다. 여러분이 이용하는 좀 큰 사이트다 싶으면 검색창에 뭘 입력하고 검색하면 높은 확률로 이 소프트웨어가 작동하고 있을 것이다. 특히 사이트 내에 데이터도 많고 이용자 규모가 큰데 '''검색어 자동완성 기능'''까지 있으면 거의 100% 확률로 쓴다. | ||
[[Java]]로 개발되는 프로젝트라 Java와 궁합이 제일 좋으며, 그래서 이쪽 웹 프레임워크의 대표주자인 [[Spring 프레임워크]] 생태계와 같이 쓰는 경우가 많지만, Python, PHP나 Ruby 같은 다른 웹 개발 언어로도 래핑 API를 제공한다. 당장 PHP로 작성된 미디어위키에도 [[mw:Extension:CirrusSearch|엘라스틱서치를 사용하는 검색 확장 기능]]이 있다. | [[Java]]로 개발되는 프로젝트라 Java와 궁합이 제일 좋으며, 그래서 이쪽 웹 프레임워크의 대표주자인 [[Spring 프레임워크]] 생태계와 같이 쓰는 경우가 많지만, Python, PHP나 Ruby 같은 다른 웹 개발 언어로도 래핑 API를 제공한다. 당장 PHP로 작성된 미디어위키에도 [[mw:Extension:CirrusSearch|엘라스틱서치를 사용하는 검색 확장 기능]]이 있다. | ||
2025년 5월 5일 (월) 16:29 판
ElasticSearch(엘라스틱서치)는 2010년 2월 8일 처음으로 공개된 오픈 소스 검색 엔진이자 NoSQL 데이터베이스 시스템으로, 기업용 검색 엔진으로는 최고의 점유율을 가지고 있다. 여러분이 이용하는 좀 큰 사이트다 싶으면 검색창에 뭘 입력하고 검색하면 높은 확률로 이 소프트웨어가 작동하고 있을 것이다. 특히 사이트 내에 데이터도 많고 이용자 규모가 큰데 검색어 자동완성 기능까지 있으면 거의 100% 확률로 쓴다.
Java로 개발되는 프로젝트라 Java와 궁합이 제일 좋으며, 그래서 이쪽 웹 프레임워크의 대표주자인 Spring 프레임워크 생태계와 같이 쓰는 경우가 많지만, Python, PHP나 Ruby 같은 다른 웹 개발 언어로도 래핑 API를 제공한다. 당장 PHP로 작성된 미디어위키에도 엘라스틱서치를 사용하는 검색 확장 기능이 있다.
JSON 형태의 역색인(Inverted index)용 스키마를 구성한 후 거기에 따라 도큐먼트를 저장하는 건 MongoDB 같은 다른 NoSQL 데이터베이스와 판박이라 DBMS로도 분류하지만 보통 검색엔진으로 인식된다.
2010년대 들어서 개발자들이 Elastic NV란 회사를 세우고 거기서 개발을 하다 보니 유료 버전이 생기고 라이선스가 3중으로 구성되면서 무료 버전에 제약이 많이 걸리고 사용 조건이 복잡해졌다. 그래서 아마존닷컴이 자기가 쓸 목적으로 포크를 떠 가 OpenSearch란 프로젝트를 개발하다가 역시 오픈 소스로 프로젝트를 풀면서 현재는 경쟁자가 생긴 상황.
ELK 스택
엘라스틱서치와 연동되는 다른 소프트웨어들이 있다. 그 중 제일 많이 쓰이는 것이 로그 수집 및 데이터 파이프라인 구축 소프트웨어인 Logstash(로그스태시), 그리고 쌓인 데이터의 메타데이터를 조회하거나 인덱스를 지정할 수 있는 모니터링 도구인 키바나(Kibana)가 있다. 이 셋을 묶어 ELK 스택이라고 하며, 데이터 엔지니어의 기본 스킬로 여겨진다.
물론 이것 말고도 다른 라이브러리들이 있으며, 엘라스틱서치 버전 별로 라이브러리/프레임워크 호환성이 다 다르다. Kibana 정도만 거의 엘라스틱서치와 1대1로 버전이 매칭되고 나머지는 조건에 따라 다른 상황.