Apache Solr 튜토리얼: Solr란 무엇입니까? Archi강의 및 설치
아파치 솔라(Apache Solr)란 무엇입니까?
Apache Solr 다음으로 작성된 오픈 소스 검색 서버 플랫폼입니다. Java Apache 소프트웨어 재단의 언어입니다. 확장성이 뛰어나고 대량의 텍스트 중심 데이터를 처리하기 위해 검색 엔진을 배포할 준비가 되었습니다. Apache Solr을 사용하는 목적은 대량의 웹 콘텐츠를 색인하고 검색하여 검색 쿼리에 따라 관련 콘텐츠를 제공하는 것입니다.
Apache Solr은 Apache Lucene이라는 전체 텍스트 검색 엔진을 둘러싼 REST-API 기반 HTTP 래퍼입니다. 역색인은 각 단어 항목이 저장된 문서에 연결되는 단어 목록입니다. 이렇게 하면 간단한 'get' 작업으로 검색 쿼리 "guru99"에 대한 모든 문서를 얻을 수 있습니다.
Apache Solr의 역사
- 1999: Doug Cutting, Lucene 출판
- 2004: Solr는 Yonik Seeley가 CNET에서 부품 회사 내부 프로젝트로 개발했습니다.
- 2006년: CNET은 소스 코드를 Apache 소프트웨어에 기부하여 게시합니다. Foundation
- 2008: 검색 기능과 성능이 향상된 Solr 1.3 출시
- 2010년: Lucene과 Solr의 합병
- 2012: 새로운 Solr Cloud 기능이 포함된 Solr 버전 4.0 출시
- 2016년: 병렬 SQL 쿼리 실행을 지원하는 Solr 6.0이 출시되었습니다.
Apache Solr의 특징
Apache Solr의 중요한 기능은 다음과 같습니다.
- 자동 로드 밸런싱
- 표준 기반 개방형 인터페이스 - XML, JSON 및 HTTP
- 추천 및 맞춤법 제안이 지원됩니다.
- 자동 완성 및 지리공간 검색 지원
- 인증 및 권한 부여를 위한 내장형 보안
- 다국어 키워드 검색을 수행할 수 있습니다.
- 자동 완성/미리 입력 예측
- 일괄 처리 및 스트리밍 처리
- 머신러닝 모델 구축은 쉽습니다.
- 대용량 웹 트래픽에 특별히 최적화됨
- 포괄적인 HTML Admiration 인터페이스
- 스키마 및 스키마 없는 구성을 모두 지원합니다.
- 패싯 검색 및 필터링
- 전체에 대한 중앙 구성 Cluster
Apache Solr에서 사용되는 주요 용어
이제 이 Solr 검색 엔진 튜토리얼에서는 Apache Solr에서 사용되는 주요 용어에 대해 알아봅니다.
핵심 용어 | 상품 설명 |
---|---|
솔르 코어 | Solr Core는 모든 문서에서 파생된 텍스트 및 필드의 색인으로 정의할 수 있습니다. 하나의 Solr 인스턴스에는 단일 또는 다중 Solr 코어가 있을 수 있습니다.
Core = Lucene Index + Solr 구성의 인스턴스 |
솔러 인스턴스 | Solr 인스턴스는 다음에서 실행되는 Solr 인스턴스입니다. Java 가상 기기 (JVM). 독립 실행형 모드에서는 하나의 인스턴스만 제공하는 반면 클라우드 모드에서는 하나 이상의 인스턴스를 가질 수 있습니다. |
색인 | 인덱싱은 문서의 내용을 Solr Index에 추가하는 방법입니다. Apache Solr는 Apache Lucene Inverted Index 기술을 사용합니다. |
문서 | 필드와 해당 값의 그룹입니다. 문서는 Apache Core에 저장되는 데이터의 기본 단위입니다. 하나의 Apache 코어에는 하나 이상의 문서가 포함될 수 있습니다. |
분야 | 필드는 문서에 실제 데이터를 저장하는 키-값 쌍입니다. 키는 필드 이름을 지정하고 값에는 해당 필드 데이터가 포함됩니다. 문서에는 하나 이상의 필드가 있을 수 있습니다. Apache Solr에서 문서 내용을 색인화하는 데 사용됩니다. |
편안한 API | Solr와 통신하기 위해 다음을 사용할 필요는 없습니다. Java 프로그램 작성. 대신 Apache Solr은 다음을 제공합니다. 편안한 서비스 그것과 소통하기 위해. JSON, XML, CSV 등 다양한 파일 형식으로 문서를 보내고 결과를 받을 수 있습니다. |
전체 텍스트 검색 | Solr는 토큰, 구문, 철자 검사, 자동 완성, 와일드카드 등과 같은 전체 텍스트 검색 기능을 제공합니다. |
관리자 인터페이스 | Solr는 사용하기 쉽고 사용자 친화적이며 기능이 강화된 사용자 인터페이스를 제공합니다. 인터페이스를 사용하면 로그 관리, 문서 추가, 삭제, 업데이트 및 검색과 같은 작업을 수행할 수 있습니다. |
텍스트 중심 및 관련성에 따라 정렬 | Apache Solr는 텍스트 문서를 검색하는 데 사용되며, 사용자의 쿼리에 따라 결과가 전달됩니다. |
노드 | Solr 클라우드에서는 모든 단일 인스턴스를 노드라고 합니다. |
Cluster | 클러스터는 노드의 모음입니다. |
수집 | 클러스터에는 컬렉션이라고도 불리는 논리적 인덱스가 있습니다. |
사금파리 | 이는 인덱스의 단일 또는 다중 복제본을 제공하는 컬렉션의 작은 영역입니다. |
레플리카 | 복제본은 노드에서 실행되는 샤드의 복사본입니다. |
리더 | 이는 나머지 복제본에 대해 Solr Cloud의 요청을 보내는 샤드의 복제본입니다. |
Apache Solr Archi강의
이제 이 Solr 검색 튜토리얼에서 Apache Solr에 대해 알아봅시다. Archi강의:
Apache Solr은 다음 구성 요소를 손상시킵니다.
질문
쿼리 파서는 Solr에 전달해야 하는 쿼리를 구문 분석합니다. 구문 오류를 확인하기 위해 쿼리를 확인합니다. 쿼리를 구문 분석한 후 Lucene에서 알려진 형식으로 변환됩니다.
요청 처리기
Apache Solr로 전송되는 요청은 요청 핸들러에 의해 처리됩니다. 요청은 쿼리 요청 또는 인덱스 업데이트 요청일 수 있습니다. 요구 사항에 따라 요청 처리기를 선택해야 합니다. Solr에 요청을 전달하려면 핸들러를 특정 URL 끝점에 매핑해야 합니다.
응답 작성자
응답 작성기는 입력 쿼리에 대해 형식화된 출력을 생성합니다. XML, JSON, CSV.etc와 같은 다양한 형식을 지원합니다. 다양한 유형의 요청에 대해 다양한 응답 작성자가 있을 수 있습니다.
업데이트 핸들러
Apache Solr에 업데이트 요청을 보내면 플러그인, 서명, 로깅, 인덱싱 세트를 통해 실행됩니다. 이 프로세스를 업데이트 요청 프로세서라고 합니다. 파일 추가 또는 삭제 등과 같은 수정 작업도 담당하는 업데이트 핸들러입니다.
Apache Solr 애플리케이션
어플리케이션 | 용법 |
---|---|
인트라넷 포털 |
|
페더레이션 클라이언트 |
|
기기 데이터세트 |
|
규제 문서 |
|
PLM 애플리케이션에 내장됨 |
|
Apache Solr를 설치하는 방법은 무엇입니까?
단계 1) 웹사이트를 열고 계속 구독하세요
이것으로 가라. 링크, “구독 계속”을 클릭하세요.
단계 2) 약관 동의를 클릭하세요
다음 페이지에서 약관 동의를 클릭하세요.
단계 3) 잠시 기다려
그런 다음 잠시 기다리면 잠시 후 요청이 수락됩니다.
단계 4) 구성으로 계속
페이지를 새로 고치고 "Continue to Configuration(구성 계속)"을 클릭합니다.
단계 5) 계속 실행
설정을 기본값으로 유지하고 "계속 실행"을 클릭하세요.
단계 6) 설정을 기본값으로 유지
다음 페이지에서 설정을 기본값으로 유지하세요.
- 키의 pem 파일이 있는지 확인하십시오.
- “실행”을 클릭하세요
이 성공 메시지가 표시됩니다.
단계 7) 공용 DNS를 참고하세요.
EC2 콘솔에서 인스턴스의 퍼블릭 DNS를 기록해 둡니다.
단계 8) 아래 URL 열기
Solr에 액세스하려면 URL을 사용하십시오.
http://publicdns:8983
우리의 경우에는
http://ec2-18-221-175-53.us-east-2.compute.amazonaws.com:8983
참고: 인스턴스에 액세스하는 데 문제가 있는 경우 아래 Solr 쿼리 예에 표시된 대로 모든 트래픽을 허용하도록 인스턴스의 인바운드 및 아웃바운드 규칙을 변경하세요.
Elasticsearch 대. 아파치 솔르
파라미터 | Apache Solr | 탄력적 검색 |
---|---|---|
자연 | 오픈 소스 프로젝트입니다. | 오픈 소스 프로젝트가 아닙니다. |
정적 상태 | shema.xml의 정적 | elasticsearch.yml의 정적 |
형성 | XML, CSV, JSON | JSON만 |
색인 | 컬렉션/코어 재로드를 통해 런타임 중에 다시 로드 가능 | REST 호출을 통해 인덱스/유형 생성 중에 정의됨 |
문서 | 그것은 잘 문서화되어 있습니다. | 그것은 잘못 문서화되어 있습니다. |
샤드 분할 | 가능한 | 불가능 |
Apache Solr의 장점
- 정보를 찾는 데 걸리는 시간을 줄이는 데 도움이 됩니다.
- 빠르고 간단하며 강력하고 유연한 검색 엔진입니다.
- 귀하의 제품과 서비스에 대한 접근성을 높이는 데 도움이 됩니다.
- 웹 애플리케이션에 대한 고객 지출 증가
- 웹 애플리케이션의 사용자 경험을 개선하여 수익과 이익을 높이는 데 도움이 됩니다.
- 포괄적인 HTML 기반 관리 인터페이스
- XML 구성으로 유연하고 적응 가능
- 확장 가능한 플러그인 Archi강의
- 확장성이 뛰어나고 강력하며 내결함성을 갖춘 검색 엔진
- 분산, 음영, 복제 지원 Clustering 및 다중 노드 Archi강의
Apache Solr의 단점
- ACID 호환 데이터 저장소가 아닙니다.
- 기본 데이터 저장소로는 유용하지 않습니다. 보조 데이터 저장소로만 유용함
- 트랜잭션 및 분산 트랜잭션에 대한 지원을 제공하지 않습니다.
- 조인 및 복잡한 쿼리를 지원하지 않습니다.
- 정규화된 데이터에 적합하지 않음
요약
- Apache Solr는 오픈 소스입니다. REST API 기반 검색 서버
- Apache Solr는 Yonik Seeley가 CNET에서 일부 회사 내부 프로젝트로 개발했습니다.
- Apache Solr는 자동 완성 및 지리 공간 검색과 같은 기능을 제공합니다.
- Solr Core, Solr 인스턴스, 인덱싱, 문서, Restful API, 전체 텍스트 검색, 관리 인터페이스 등은 Apache Solr에서 사용되는 주요 용어입니다.
- 쿼리, 요청 처리기, 요청 작성자 및 업데이트 처리기는 Apache Solr의 중요한 구성 요소 중 일부입니다.
- 인트라넷 포털, 페더레이션 클라이언트, 기기 데이터 세트, 규정 문서, PLM 애플리케이션에 내장된 기능은 유용한 Apache Solr 애플리케이션입니다.
- Apache Solr은 잘 문서화되어 있는 반면 Elastic Search는 제대로 문서화되어 있지 않습니다.
- Apache Solr의 가장 큰 장점은 정보를 찾는 데 걸리는 시간을 줄여준다는 것입니다.
- 이 애플리케이션의 주요 단점은 ACID 호환 데이터 저장소가 아닙니다.