(그 이상) 강력한 검색 경험을 위해 Drupal 8에서 Apache Solr를 구성하는 방법

게시 됨: 2020-04-28

Apache Solr과 Drupal 8의 기능을 결합하면 고성능의 엔터프라이즈 수준 검색 기능과 함께 타의 추종을 불허하는 디지털 경험을 얻을 수 있습니다. 이 기사에서는 Drupal Apache Solr를 선택해야 하는 이유와 Drupal 8에서 Apache Solr를 구성하는 방법에 대해 알아봅니다.

Apache Solr이란 무엇입니까?

Solr는 분산 인덱싱 및 부하 분산 쿼리를 제공하는 견고하고 상승 가능한 오픈 소스 검색 API 플랫폼입니다. CNET Networks를 위해 처음에 구축된 이 Java 기반 프로젝트는 나중에 Apache Software 재단에 제공되었습니다. Drupal Apache Solr는 빠르고 신뢰할 수 있으며 멋진 검색 응용 프로그램을 위한 최고의 솔루션입니다. 다양한 전자 상거래 사이트 및 CMS를 포함하여 Netflix, Instagram 및 Twitter와 같은 큰 회사는 검색 기능에 Apache Solr를 사용합니다.

Dupal-apache-solr

Apache Solr를 선택하는 이유는 무엇입니까?

검색 API 기능을 구현하기 위해 Drupal 8 코어에서 사용할 수 있는 많은 옵션이 있는데 왜 Drupal 8과 함께 Apache Solr를 선택해야 합니까? Drupal Apache Solr가 프로젝트에 가장 적합한 몇 가지 이유는 다음과 같습니다.

  1. Drupal Apache Solr는 사용자가 정보 더미를 쉽게 탐색하는 데 도움이 되는 여러 필터를 추가할 수 있도록 패싯 탐색을 제공합니다. 패싯은 쿼리할 수 있는 탐색 요소입니다.
  2. 거의 실시간 인덱싱 및 검색 기능과 함께 정확한 결과를 제공하는 전체 텍스트 검색이 가능합니다. Drupal Apache Solr를 사용한 인덱싱은 더 빠를 뿐만 아니라 병합 및 추가 최적화도 가능합니다.
  3. Hit Highlight 기능을 사용하면 검색 단어나 구문을 강조 표시하여 쉽게 식별할 수 있습니다.
  4. 동적 클러스터링 기능을 사용하면 검색 결과를 그룹화하고 관련 검색 또는 권장 사항을 제공할 수 있습니다.
  5. 더 나은 검색 API 경험을 위해 맞춤법 검사 및 자동 완성 제안을 허용합니다.

Drupal Apache Solr를 사용하면 웹사이트 검색을 더 잘 제어할 수 있고 대화형 관리 인터페이스를 제공합니다. 선도적인 의료 제공자가 Apache Solr 및 Drupal을 사용하여 검색 경험을 향상할 수 있도록 지원한 방법을 확인하십시오.

Drupal 8에서 Apache Solr 구현

이 프로세스를 다음 부분으로 나누어 보겠습니다.

  1. Apache Solr 설치
  2. Drupal Solr 모듈 설치
  3. Drupal 모듈로 Apache Solr 구성

1. Apache Solr 설치

1단계: 자바 설치

Apache Solr는 완전히 Java 기반이므로 시작하려면 Java를 설치해야 합니다. Apache Solr 7의 경우 실행하려면 Java 8 이상이 필요합니다. 시스템에 Java가 설치되어 있지 않으면 아래 명령을 사용하여 Java를 설치하십시오.

 $sudo apt install openjdk-11-jdk

아래 명령을 사용하여 활성 Java 버전을 확인하십시오.

 $java -버전

2단계: Ubuntu에 Apache Solr 설치

이제 공식 사이트에서 최신 Apache Solr 버전을 다운로드할 수 있습니다. 그렇지 않으면 아래 명령을 사용할 수도 있습니다.

 $cd /옵션
$wget https://archive.apache.org/dist/lucene/solr/7.7.2/solr-7.7.2.tgz

이제 다운로드한 Solr 아카이브 파일에서 Apache Solr 서비스 설치 프로그램 셸 스크립트를 추출하고 다음 명령을 사용하여 설치 프로그램을 실행합니다.

$tar xzf solr-7.7.2.tgz solr-7.7.2/bin/install_solr_service.sh --strip-components=2
$sudo bash ./install_solr_service.sh solr-7.7.2.tgz

이제 Solr이 시스템에 설치되어야 합니다. 이 명령을 사용하여 Solr 서비스를 시작, 중지 및 확인할 수 있습니다.

 $sudo 서비스 solr stop
$sudo 서비스 solr 시작
$sudo 서비스 solr 상태

기본 Solr은 포트 8983 에서 실행됩니다. 브라우저에 localhost:8983 을 입력하여 Solr 관리자 패널에 액세스할 수 있습니다.

아파치 솔러 설치

2. Drupal 8에 Search API Solr 모듈 설치하기

더 진행하기 전에 Drupal 8 Search API Solr 모듈을 설치해야 합니다. 이 검색 모듈은 Drupal을 Apache Solr 검색 플랫폼과 통합하고 검색 API 모듈을 위한 Solr 백엔드를 제공합니다.

아래 명령을 사용하여 Composer를 사용하여 사이트에 이 Drupal solr 모듈을 설치합니다.

 $composer는 drupal/search_api_solr이 필요합니다

완료되면 모듈을 활성화합니다.

 확장 → 검색 검색 API Solr 검색 → 활성화로 이동

3. Drupal Search API Solr 모듈로 Apache Solr 구성

1단계: Apache Solr에서 코어 생성

Solr 설치 후 Solr 플랫폼과 함께 작동하려면 Solr에 코어를 생성해야 합니다. 이것은 콘텐츠를 Solr 코어에 인덱싱할 수 있는 중요한 단계입니다. 생성한 코어에서 인덱싱된 콘텐츠를 볼 수 있습니다. 우분투에서 아래 명령을 사용하여 코어를 만들 수 있습니다.

$sudo su - solr -c "/opt/solr/bin/solr create -c first_solr_core -n data_driven_schema_configs"

이 명령은 Solr이 설치된 위치에 따라 다릅니다. 여기에서 내 Ubuntu 시스템의 /opt 폴더에 있습니다. Solr 관리자 패널에서 생성된 코어를 볼 수 있습니다.

솔라 서버

2단계: Solr 서버 생성

이 단계에서는 Drupal 웹사이트에 Solr 서버와 색인을 생성해야 합니다. Solr 서버를 생성하려면 –

구성 -> 검색 및 메타데이터 -> API 검색 -> 서버 추가 클릭

아파치 솔러

서버 추가를 클릭하면 해당 양식을 작성하는 데 필요한 하나의 양식이 표시됩니다.

  1. 서버 이름: 서버 이름을 입력합니다.
  2. 활성화: 활성화 확인란을 선택해야 합니다. 활성화하지 않으면 항목을 인덱싱할 수 없습니다.
  3. 서버 설명 추가: 서버에 대한 간략한 설명입니다.
Apache-solr

다음으로 Solr 백엔드를 구성해야 합니다. 양식에서 CONFIGURE SOLR BACKEND 를 클릭합니다. 아래 이미지와 같이 양식 요소를 볼 수 있습니다.

솔러 컬렉터

Solr 커넥터: 4개의 커넥터를 사용할 수 있습니다. 이 Solr 서버에 사용할 커넥터를 선택해야 합니다. 저는 Standard 커넥터를 사용하고 있습니다.

HTTP 프로토콜: https 또는 Http를 선택합니다(서버에서 SSL을 사용하는지 여부에 따라 다름).
Solr 호스트: localhost(Solr 서버가 다른 시스템에 있는 경우 여기에 해당 호스트의 IP 또는 호스트 이름을 입력하십시오)
Solr 포트: 8983(기본 포트)
Solr 경로: "/" (서버를 찾는 경로이며 이것은 solr 서버 버전을 기반으로 합니다. solr 서버 버전이 6.6.4인 경우 이 경우 solr 경로는 "/solr"과 다릅니다).
Solr core: 이전에 생성한 solr core 이름을 입력합니다.
정의된 기본 값이 제대로 작동합니다. 그러나 그에 따라 변경할 수도 있습니다.

3단계: 검색 색인 생성

여기에서 인덱스에서 선택한 데이터 소스를 인덱싱할 검색 API 인덱스를 만들 것입니다. 인덱스를 생성하려면 –

구성 -> 검색 및 메타데이터 -> 검색 API -> 색인 추가로 이동합니다.

아파치 솔러

인덱스 이름: 인덱스 이름을 입력합니다.

데이터 소스: 여기에서 검색 기능에 대한 항목을 인덱싱할 데이터 소스를 선택해야 합니다. 내 예에서는 콘텐츠를 선택했습니다. 콘텐츠를 선택하면 CONFIGURE THE CONTENT DATASOURCE 에서 번들을 선택할 수 있는 옵션이 표시됩니다. 여기에서 인덱싱할 번들을 선택해야 합니다.
서버 : 항목을 인덱싱할 서버를 선택합니다. Apache-solr-server를 선택했습니다.
Enabled : 인덱스를 활성화합니다. 이 작업을 위해 선택한 서버도 활성화하는 것을 잊지 마십시오.

완료되면 저장을 누르고 필드를 추가하십시오.

솔라 아파치

인덱스를 성공적으로 만든 후에는 이제 인덱스에 필드를 추가해야 합니다.

필요한 필드를 추가하려면 검색 API로 돌아가서 생성한 색인 편집을 클릭하십시오.

그러면 필드 탭이 표시됩니다. 필드 탭을 클릭하면 아래 이미지와 같은 창이 나타납니다.

솔라 아파치

그런 다음 필드 추가를 클릭합니다. 나타나는 팝업에서 필요한 필드를 추가해야 합니다. 필드를 추가한 후 완료를 클릭한 다음 저장을 클릭하십시오.

인덱스 솔러

이제 웹사이트에 Index와 서버가 생성됩니다. 그 후 다음 중요 단계는 구성 파일을 Solr 코어에 복사하는 것입니다. 이를 위해서는 웹 사이트의 서버에서 구성 파일을 다운로드해야 합니다.

구성 -> 검색 및 메타데이터 -> API 검색 -> <서버 이름>으로 이동합니다.

아래 이미지와 같은 창이 나타납니다 -

솔라 아파치

그런 다음 " config.zip 가져오기 " 버튼을 클릭합니다. 그러면 config 폴더가 다운로드됩니다. 완료되면 zip 폴더의 압축을 풀고 모든 파일을 코어의 conf 폴더에 복사합니다.

get-config.zip

파일을 복사하려면 터미널을 열고 Solr core 폴더로 이동합니다. Ubuntu에서 Solr 코어 폴더는 /var/solr/data 에 저장 됩니다. 데이터 폴더에서 이전에 생성한 Solr 코어 폴더를 볼 수 있습니다. 해당 Solr 코어 폴더로 이동하면 이름이 conf 인 폴더를 찾을 수 있습니다. 이 폴더에서 몇 가지 파일을 찾을 수 있습니다. 해당 파일을 삭제하고 웹 사이트 서버에서 다운로드한 config 폴더에서 모든 파일을 복사합니다. 완료되면 터미널에서 Solr 서버를 다시 시작해야 합니다.
다음 단계는 내용을 색인화하는 것입니다.

구성 -> 검색 및 메타데이터 -> 검색 API로 이동하여 생성한 인덱스를 클릭합니다. 아래 이미지와 같은 창이 나타납니다.

검색 및 메타데이터

그런 다음 색인을 클릭하여 내용을 색인화합니다. 이제 모든 콘텐츠가 Solr 코어에서 색인화됩니다. 이제 Solr 인덱스 보기를 만들고 인덱스된 필드를 보기에 추가하여 Drupal 8 Solr에서 결과를 얻을 수 있습니다.