Drupal 8(및 9)에 대한 패싯 검색을 구성하는 방법 – 쉬운 단계별 자습서
게시 됨: 2020-11-18패싯 검색은 검색 결과에 필터를 표시하여 사용자에게 우수한 검색 경험을 제공합니다. 큰 카탈로그와 목록이 있는 웹사이트에 특히 유용합니다. 사용자가 검색어를 입력하면 관련 필터 옵션 목록이 표시되어 검색 범위를 더욱 좁힐 수 있습니다. 이러한 필터링 요소는 패싯입니다.
이전 Drupal 7의 Facet API인 Drupal 8의 Facet 모듈을 사용하면 웹사이트에서 패싯 검색 기능을 사용할 수 있습니다. 패싯은 Drupal 9도 지원합니다! Drupal의 자체 검색 서버인 Search API를 사용하여 Faceted 검색을 구성하고 구현하는 방법을 살펴보겠습니다.

패싯 검색이란 무엇입니까?
사용자가 검색어를 입력한 후에도 검색한 내용을 찾기 어렵다면 좌절할 수밖에 없습니다. 패싯 검색은 콘텐츠의 다양한 속성에 대해 동시에 여러 필터를 사용자에게 제공합니다. 제공된 패싯은 사용자가 실행한 검색 쿼리를 기반으로 합니다. 패싯은 또한 그 옆에 일치하는 결과의 수(일반적으로 대괄호 안에 있음)를 표시합니다. Facets를 더 잘 이해하기 위해 아래 스크린샷을 살펴보겠습니다.

최근 Drupal 8 프로젝트 중 하나에서 이 웹사이트에서 Homes in Columbia를 빠르게 검색하면 커뮤니티, 특가 상품, 빠른 입주 등과 같은 측면이 표시됩니다. 또한 각 패싯 옆에 결과 개수가 표시됩니다. 따라서 "Columbia" 키워드가 포함된 쿼리가 검색 서버로 전송되어 이미 구성되고 인덱싱된 카테고리(커뮤니티, 핫딜 등)를 검색합니다.
Drupal 8용 Facets 모듈 설치
앞서 논의한 바와 같이 Drupal의 검색 API 모듈을 사용하여 패싯 검색을 구현할 것입니다.
1단계: 모듈 활성화
이 모듈을 설치하고 활성화하십시오
• 패싯 모듈
• 검색 API 모듈
2단계: 콘텐츠 유형 만들기
아래와 같이 콘텐츠 유형을 추가하여 패싯 검색에 포함할 콘텐츠를 만듭니다. Drupal에서 제공하는 기본 콘텐츠 유형을 사용할 수도 있습니다.

3단계: 검색 서버 구성
관리자 인터페이스에서 구성 -> 검색 및 메타데이터 -> 검색 -API로 이동하여 검색 서버를 구성합니다. 검색 서버에 이름을 지정하십시오(여기서는 데이터 서버).

4단계: 검색 색인 구성
다음으로, 검색 성능을 향상시키기 위해 검색 인덱스를 구성합니다. 구성 -> 검색 및 메타데이터 -> 검색-API -> 색인 -> data_index 로 이동 합니다.

4단계: 검색 색인 구성
여기에서 콘텐츠 엔터티를 인덱싱할 것이므로 인덱스에 이름을 지정한 다음 콘텐츠를 데이터 소스로 선택합니다.
그런 다음 다음 섹션인 데이터 소스 구성(여기 – 콘텐츠)으로 이동할 수 있습니다. 여기에서 모든 번들을 선택하거나 아래 목록에서 몇 개만 선택하여 인덱싱할 수 있습니다.
다음으로 이미 생성한 서버(여기 - 데이터 서버)를 선택합니다. 인덱싱 프로세스를 시작하려면 " 즉시 항목 인덱싱 " 옵션을 선택하십시오. 저장을 클릭합니다.

데이터 소스 구성
5단계: 인덱싱을 위한 필드 추가
다음으로 인덱싱할 필드를 추가해야 합니다. 구성 -> 검색 및 메타데이터 -> 검색 API -> 데이터 인덱스로 이동 하고 필드 탭을 선택합니다. 필드 추가 버튼을 클릭하여 요구 사항에 따라 필드를 생성합니다.

5단계: 인덱싱을 위한 필드 추가
6단계: 콘텐츠 인덱싱
같은 위치에서 보기 탭을 클릭하여 콘텐츠 인덱싱 프로세스를 시작합니다. 시작 인덱싱 이제 섹션에서 지금 색인 버튼을 클릭합니다. 그러면 인덱싱된 항목 수의 상태와 함께 진행률 표시줄이 표시됩니다.


6단계: 콘텐츠 색인 생성
7단계: 보기 만들기
이제 인덱싱되어 사용자에게 표시되어야 하는 데이터에 대한 보기를 생성합니다. 구조 -> 보기 -> 보기 추가로 이동합니다.

7단계: 보기 만들기
보기의 이름을 지정합니다.
보기 설정 드롭다운 목록에서 4단계에서 만든 인덱스를 선택합니다.
페이지 설정 탭에서 페이지 만들기 확인란을 클릭하여 검색 결과에 대한 페이지를 만듭니다 . 동일한 이름과 경로를 지정하십시오.
모든 결과를 한 페이지에 표시하려면 표시할 항목 아래에서 0을 선택합니다. 또는 표시할 결과 수를 선택합니다.
페이지 표시 설정에서 결과를 표시할 형식(표, 그리드, HTML 목록 또는 서식 없는 목록)을 선택할 수 있습니다. 여기에서 형식이 지정되지 않은 목록을 선택했습니다. 저장을 클릭합니다.
8단계: 보기에 필드 추가
여기에서 이전에 인덱싱한 필드를 View에 추가합니다.
보기로 이동하여 필드 섹션 옆에 있는 추가 버튼을 클릭합니다. 필드를 선택하고 추가 및 구성을 클릭합니다.
표시되는 결과를 클릭할 수 있도록 렌더 설정에서 콘텐츠에 링크 확인란 을 선택합니다.
저장을 클릭합니다.

8단계: 보기에 필드 추가
9단계: 패싯 구성
이제 패싯 구성 및 활성화를 시작하겠습니다. 구성 -> 검색 및 메타 데이터 -> 패싯으로 이동합니다.
패싯 추가 버튼을 클릭합니다.

9단계: 패싯 구성
패싯 소스 선택 – 이전에 생성한 보기가 됩니다.
필드 선택 – 5단계에서 인덱싱을 위해 추가한 필드가 표시됩니다.
패싯에 이름을 지정합니다.
저장을 클릭합니다.
다음으로 패싯을 표시하기 위한 추가 구성 옵션이 표시됩니다(아래 이미지 참조). 위젯은 링크 목록, 배열, 드롭다운 등과 같은 다양한 옵션을 나열합니다. 웹사이트에 가장 적합한 것을 선택할 수 있습니다.
콘텐츠 유형의 컴퓨터 이름이 표시되지 않도록 "레이블로 엔터티 ID 변환"을 선택합니다.
저장을 클릭합니다.

10단계: 선택한 페이지 영역에 패싯 블록 배치
다음으로 선택한 페이지 영역에 블록으로 생성한 패싯을 배치합니다.
구조 -> 블록 레이아웃으로 이동합니다.
패싯이 포함된 블록을 배치할 페이지 영역을 선택합니다.
여기서는 Sidebar 를 선택합니다. 사이드바 옆에 있는 블록 배치 버튼을 클릭합니다.
다음 대화 상자에서 패싯 이름을 검색하고 블록 배치를 클릭합니다.

10단계: 선택한 페이지 영역에 패싯 블록 배치
블록 구성 섹션에서 이전에 생성한 검색 페이지 경로를 언급합니다. 여기 -" site-search "는 우리가 만든 페이지입니다.
블록의 표시 이름을 지정하고 블록 이름을 표시 하려면 표시 제목 확인란을 선택합니다(여기에 – 유형).
블록 저장 을 클릭합니다.
결과
그렇게 하면 패싯 검색 페이지와 기능이 준비되었습니다! 필터링할 콘텐츠 유형으로 나열된 기본 페이지 및 기사가 있는 유형 (표시 이름)이라는 패싯을 확인하십시오.

결과: 패싯 검색 페이지
