320x100
320x100

검색엔진

- 시스템에 저장된 정보를 찾아주는 정보 검색 시스템

 : 크롤러(crawler)를 이용하여 웹상의 정보를 검색하고 색인화(indexing) 수행

 : 크롤러가 주기적으로 웹 사이트를 방문하여 해당 웹 사이트의 정보에 대해 색인 작성 후 DB에 저장하고

   검색시 이를 활용

 

- 종류

 ㆍ로봇 검색 엔진

   : 크롤러를 이용하여 웹상의 데이터를 수집하고 키워드 색인을 통해 사용자에게 제공하는 방식

   : Naver나 Google의 검색엔진 방식

 

 ㆍ디렉터리 검색 엔진

   : 주제 분류에 의한 검색(디렉터리 서비스)를 제공하는 검색엔진

   : 데이터의 분류를 직접 사람이 수행

   : 90년대 Yahoo에서 사용한 방식

 

 ㆍ메타 검색 엔진

   : 자체적으로 정보를 보유하고 있지 않으면서 사용자가 입력한 키워드를 복수의 다른 검색엔진으로 전송하여

     결과를 얻고 그 결과들을 종합하여 표시만 해주는 검색엔진

   : 여러 검색엔진의 결과를 동시에 보여주기 때문에 결과를 한눈에 볼 수 있음

   : 메타 검색이라는 과정을 한 번 더 거쳐야 하므로 속도가 느릴 수 있음

 

 

 

 

 

 

Elastic Search

- Apache Lucene(루씬) 기반의 Java 오픈소스 분산 검색 엔진

 : 루씬 라이브러리를 단독으로 사용할 수 있음

 : 방대한 양의 데이터를 신속하게, 거의 실시간 (NRT, Near Real Time)으로 저장, 검색, 분석 가능

 : 검색을 위해 단독으로 쓰이기도 하며 ELK Stack로 쓰이기도 함

 

- ELK Stack

 ㆍLogstash

   : 다양한 소스 (DB, csv 파일 등)의 로그 또는 트랜잭션 데이터 수집, 집계, 파싱하여 Elastic Search에 전달 

 

 ㆍElasticSearch

   : Logstash으로 부터 받은 데이터를 검색 및 집계하여 필요한 정보를 획득

 

 ㆍKibana

   : Elastic Search의 빠른 검색을 통해 집계한 데이터를 시각화 및 모니터링

 

- 관련개념 참고

 : victorydntmd.tistory.com/308

 

 

 

 

 

 

Solr

- Java로 작성된 오픈소스 엔터프라이즈 검색 플랫폼

 : 단독 애플리케이션 서버 형태로 작동하며, REST 형식의 API를 제공

 : Elastic Search 보다 상대적으로 안정적인 검색 엔진

 : 검색엔진에 활용될 데이터들이 주로 장문의 Text로 구성

 

- Elastic Search vs Solr

 : cyberx.tistory.com/298

 

 

 

 

 

 

Refference

ko.wikipedia.org/wiki/%EA%B2%80%EC%83%89_%EC%97%94%EC%A7%84

tcpschool.com/webbasic/searchengine

victorydntmd.tistory.com/308

 

 

 

 

 

 

300x250
728x90