Apache Solr(아파치 솔라)
오픈소스 정보검색 라이브러리인 루씬의 엔터프라이즈 버전이다. 엔터프라이즈 검색 서버인만큼 다양한 기능을 지원한다. 기본적인 텍스트 검색, 다면적 검색, 실시간 인덱싱, 클러스터링, 데이터베이스 통합, 다양한 문서처리 및 검색, 솔라 분산 인덱싱 등의 기능을 지원하고 있다.
Apache Solr 아키텍처 및 기술용어
- 클러스터(Cluster) : 하나 이상의 노드로 이루어진 가장 큰 시스템 단위(독립적인 형태로 유지되며, 한 서버를 여러대의 클러스터가 구성할 수 있으며, 여러 대의 서버가 한 클러스터를 구성할 수도 있다)
- 스키마(Schema) : 색인할 문서의 필드, 필드 타입 정의
- 인덱스 복제(Index Replication): 마스터 인덱스의 전체 복사본을 하나 이상의 슬레이브 서버로 배포 및 업데이트하는 것(대규모 볼륨에 대한 분산 처리를 위해)
- 샤드(Shard) : 데이터를 분산하여 저장하는 단위(인덱스를 조각내어 처리)
Apache Solr 특징
1) 루씬 기반
루씬 검색 라이브러리 기반의 파일을 인덱스하는 검색엔진
2) 색인 / 검색
색인은 HTTP 프로토콜 상에서 XML을 통해서 색인, 검색은 HTTP GET으로 쿼리를 보낼 수 있으며 XML의 형태로 값을 얻음
3) 분산 처리
솔라는 인덱스 복제(Index Replication)라는 기술을 활용한다. 마스터 인덱스의 전체 복사본을 하나 이상의 슬레이브 서버로 배포 및 업데이트한다. 모든 쿼리는 슬레이브에 의해 처리되는데 이러한 복제 및 분산처리를 통해 Solr는 대규모 검색 볼륨에 대한 쿼리에 적절한 대응력을 제공할 수 있다.
4) 접근성
솔라 검색서버 URL을 사용하기에 인터넷을 통해 파일을 질의, 인덱스하는 어느 곳에서나 접근 가능
Apache Nutch + Solr Stack
Apache Nutch(아파치 너치)는 오픈소스 웹 검색 SW로 웹 크롤러의 기능을 제공한다. Nutch는 웹 데이터들에 대해 효과적으로 Fetcher들을 통해 크롤링을 수행한다. 이렇게 축적된 자료들에 대해 인덱스를 구성하면 Apache Solr(Lucene)는 인덱스를 통해서 분산 처리를 통해 검색을 수행한다.
출처 : Solr 공식사이트, 우주의 중심(블로그)
'Archived(IT) > 배경지식_챗봇' 카테고리의 다른 글
챗봇과 관련된 기술 기반 내용(AI, 검색엔진) (0) | 2020.06.12 |
---|---|
Inverted Index(역색인) (0) | 2020.05.22 |
챗봇과 관련된 오해 (0) | 2020.05.21 |
자연어 이해(Natural Language Understanding, NLU) (0) | 2020.05.18 |
검색 엔진(Search Engine) (0) | 2020.05.18 |