Apache Solr

주노·2022년 9월 25일
1
post-thumbnail

서론

최근 프로젝트에서 Apache Solr 검색엔진을 적용할 일이 생겼다.
이참에 Solr에 대해 알아보는 시간을 가져보도록 하자.

설치 및 실행

환경은 M1 Mac으로 진행한다.

brew install solr

solr start

localhost:8983으로 접속하면 솔라가 잘 실행된 것을 확인할 수 있다.


Solr 살펴보기

아파치 솔라(Apache Solr)는 자바로 개발된 오픈 소스 엔터프라이즈 검색 플랫폼이다.
주요 기능으로는 전문 검색, 강조, 실시간 인덱싱, 동적 클러스터링, 데이터베이스 연동, NoSQL 기능, 리치 도큐먼트(예: 워드, PDF) 관리가 포함된다.
-위키백과-

검색 애플리케이션을 만들기 위해 사용되는 오픈소스 라이브러리다.

특징

  • Restful API를 사용

    • HTTP 호출을 이용한 검색을 지원한다.
    • 결과값으로 JSON, XML, CSV 포맷을 지원한다.
  • Full Text Search

    • 단어, 문장 등의 텍스트 검색
    • 오타교정, 검색어 자동완성, 와일드카드 질의 기능을 제공
  • Flexible and Extensible

    • Java 메소드 오버라이딩을 통해 커스터마이징 가능
  • NoSQL 데이터베이스

    • 큰 용량의 데이터 저장 가능
    • 여러 클러스터로 분산된 파일에 대한 분산 검색 처리
  • Admin interface

    • 쉬운 사용을 위한 사용자 친화적 인터페이스 제공
  • Highly scalable

    • 전체 클러스터에 replica 추가를 통한 쉬운 확장

Architecture

클러스터(Cluster) : 하나 이상의 노드로 이루어진 가장 큰 시스템 단위
(독립적인 형태로 유지, 한 서버를 여러대의 클러스터가 구성할 수 있으며, 여러 대의 서버가 한 클러스터를 구성할 수도 있다)

스키마(Schema) : 색인할 문서의 필드, 필드 타입 정의

인덱스 복제(Index Replication) : 대규모 볼륨에 대한 분산 처리를 위해 마스터 인덱스의 전체 복사본을 하나 이상의 슬레이브 서버로 배포 및 업데이트하는 것

샤드(Shard) : 데이터를 분산하여 저장하는 단위

기타 주요 용어들은 다른 블로그를 참고하자. 너무많아 ㅠ

Core 생성

solr create -c test

brew로 설치했기 때문에 경로는
/opt/homebrew/var/lib/solr/test에 있다.

다음 포스트에서 SpringBoot로 Solr를 사용하는 방법으로 이어가보자.

Reference

https://dogrushdev.tistory.com/139
https://woongsin94.tistory.com/344
https://jetalog.net/51?category=650060

profile
안녕하세요 😆

0개의 댓글