Magento 2에서 Elasticsearch를 구성하는 방법

게시 됨: 2022-12-20

목차

Magento 플랫폼은 비즈니스 소유자가 더 적은 제한과 더 큰 유연성으로 매장을 시작할 수 있는 좋은 기회를 열었습니다. 상점의 여러 카테고리 및 하위 카테고리에는 수천 개의 제품이 있을 수 있으며 일반적으로 고객이 제품을 검색하는 데 걸리는 시간은 짧은 경향이 있습니다. 따라서 고객에게 쉬운 검색 환경과 유용한 실시간 검색 결과를 제공할 수 없는 경우 Magento 매장은 전환율 감소에 직면할 수 있습니다. 이것이 강력한 검색 엔진이 필요한 이유이며, Magento 2 Elasticsearch가 구출됩니다.

Magento 2의 Elasticsearch란 무엇입니까?

Elasticsearch-로고

Elasticsearch BV에 따르면 Elasticsearch는 텍스트, 숫자, 지리 공간, 정형 및 비정형을 포함한 모든 유형의 데이터에 대한 분산형 무료 개방형 검색 및 분석 엔진입니다.

2010년에 처음 출시된 Elasticsearch는 Apache Lucene이라는 Java 기반 검색 및 인덱싱 라이브러리를 기반으로 합니다. 문서 또는 데이터베이스 내의 단어를 비교하여 관련 키워드를 제안하고 완전한 쿼리를 표시하는 전체 텍스트 검색 엔진입니다. 또한 분산 모델과 모든 유형의 데이터에 대한 개방성 덕분에 검색이 빠르고 확장이 쉽습니다.

이러한 능력 때문에 Elasticsearch는 애플리케이션 검색에 사용되었습니다. 웹사이트 검색; 기업 검색; 로깅 및 로그 분석 애플리케이션 성능 모니터링 지리 공간 데이터 분석 및 시각화 비즈니스 분석 등

Magento 2.4부터 Adobe Commerce 또는 Magento는 Elasticsearch가 기본 카탈로그 검색 엔진이 되어야 합니다. 따라서 필수 구성 요소가 되며 Magento 설치 시 비활성화할 수 없습니다. Elasticsearch는 고객에게 더 빠르고 관련성 높은 검색 결과를 실시간으로 제공하여 비즈니스 전환율을 높입니다. 이는 고객과 Magento 2 매장 소유자 모두에게 큰 이점입니다.

Elasticsearch는 어떻게 작동합니까?

Elasticsearch가 이렇게 빠르고 안정적인 검색 결과를 제공할 수 있는 것은 텍스트를 검사하는 대신 인덱스를 찾는 인덱싱 기능입니다. 탄력적 인덱스는 빠르고 효율적인 데이터 검색을 허용하고 논리적으로 관련된 문서를 저장하는 데 사용되는 유사한 구조의 문서 그룹입니다.

원시 데이터가 로그, 시스템 메트릭 및 웹 애플리케이션과 같은 다양한 소스에서 Elasticsearch로 유입되면 Elasticsearch에서 이를 처리합니다. 그런 다음 이 데이터를 인덱싱하고 그 후에 사용자는 데이터에 대해 복잡한 검색을 실행하고 집계를 사용하여 데이터에 대한 자세한 요약을 받을 수 있습니다. (Elastic.co)

탄성 검색 구조
출처: thirdrocktechkno.com

Elasticsearch의 중요한 기능 중 일부는 다음과 같습니다.

  • 빠른 텍스트 검색
  • 검색 제안
  • 자동 완성
  • 맞춤법/오류 검사 및 불용어 감지
  • 로깅 및 분석
  • 지리적 위치 검색

Magento 2 Elasticsearch의 이점

훌륭한 검색 경험

느린 응답 시간과 검색 엔진의 열악한 기능은 이탈률을 높일 수 있습니다. Elasticsearch의 빠른 결과 생성과 실시간 관련 결과를 통해 고객은 낙심하여 사이트를 떠나지 않을 것입니다.

또한 자동 완성 및 자동 제안 덕분에 고객은 많은 시간과 노력을 절약하고 잘못된 쿼리를 줄일 수 있습니다.

또한 검색자가 일반적으로 직면하는 성가신 것 중 하나는 오타나 맞춤법 오류입니다. 이로 인해 검색 엔진이 키워드를 인식하지 못하고 "결과 없음" 상태가 표시됩니다. Elasticsearch는 불용어와 이에 일치하는 구를 찾을 수 있으므로 여전히 관련 결과를 제공하고 더 정확하게 만들 수 있습니다.

빠른 탐색

Elasticsearch는 일반적인 SQL 기반 검색보다 훨씬 빠른 10초 이내에 검색된 키워드를 검색할 수 있는 강력한 도구입니다. Lucene 위에 구축되고 분산된 역 인덱스를 사용하기 때문에 Elasticsearch는 전체 텍스트 검색에서 탁월한 성능을 발휘합니다. ElasticSearch는 결과 집합에 대한 모든 검색 쿼리를 포착할 수 있으므로 검색 쿼리에 캐시된 필터가 포함될 때마다 캐시에서 결과에 대한 검색을 지시합니다. 즉, 문서가 인덱싱되는 시점과 검색 가능한 시점 사이의 시간이 상대적으로 짧아 검색 결과 응답이 증가합니다.

높은 확장성 및 대용량 데이터 관리

Elasticsearch는 분산 아키텍처를 기반으로 합니다. 이 회사는 "Elasticsearch에 저장된 문서는 샤드로 알려진 여러 컨테이너에 분산되어 있으며 하드웨어 오류가 발생할 경우 데이터의 중복 복사본을 제공하기 위해 복제됩니다."라고 말합니다. 따라서 그 특성상 최대 수천 대의 서버로 확장하고 엄청난 양의 데이터를 관리할 수 있습니다.

또한 수많은 노드가 있는 어떤 클러스터나 시스템에서도 성공적으로 진행할 수 있도록 구축되어 있습니다. 결과적으로 하나의 작은 클러스터에서 더 큰 클러스터로 확장하는 데 약간의 준비만 필요하고 실질적으로 원활합니다.

스키마 프리

Elasticsearch는 JavaScript Object Notation인 JSON을 사용합니다. JSON 문서를 인덱싱 데이터와 함께 저장하여 데이터 구조를 감지하고 검색 가능하게 만듭니다. 이는 어떤 종류의 데이터 정의도 필요하지 않으며 특정 데이터 유형이 제공되지 않는 한 일반적으로 기본값을 사용하여 데이터를 인덱싱한다는 것을 의미합니다. 새 속성이 있는 개체가 나중에 인덱싱되면 매핑 정의가 자동으로 업데이트됩니다. 따라서 스키마가 없습니다.

Elasticsearch 설정을 위한 전제 조건

Magento 플랫폼에 대한 필수 추가 기능인 Elasticsearch는 사용자가 버전 2.4.x로 업그레이드하기 전에 설치 및 구성해야 합니다. 또한 사용자는 Adobe가 더 이상 Adobe Commerce 2.3.x 및 PHP 7.3을 지원하지 않는다는 사실을 알고 있어야 합니다. 따라서 PCI 준수를 유지하려면 Adobe Commerce 2.4.x 및 PHP 7.4.x 로 업그레이드하는 것이 좋습니다.

adobe-commerce-note-on-versions
출처: Adobe Commerce DevDocs

현재 Magento 2.4.x 설치 시퀀스에서는 사용자가 다음 추가 요구 사항과 함께 Elasticsearch를 설치해야 합니다.

  • 웹서버(Apache 또는 Nginx)
  • MySQL
  • PHP

Magento가 모든 설치에 대해 요청하는 버전은 Elasticsearch 7.6.x이므로 사용자는 이 버전을 선택해야 합니다. 일부 현재 타사 Magento 2 Elasticsearch 확장 프로그램은 Elasticsearch를 Magento 스토어에 통합하는 데 도움이 될 수 있습니다.

Magento 스토어를 위한 손쉬운 Elasticsearch 구성

여기서는 Magento 2 관리자 패널을 사용하여 Elasticsearch를 구성하는 단계를 안내합니다.

1단계: Magento 2 Elasticsearch 검색 옵션 구성

1. Magento 2 관리자 패널에 관리자로 로그인 합니다.

마 젠토 관리자 패널

2. 상점을 클릭합니다. 설정에서 구성 을 선택합니다. 이 페이지에서 카탈로그 섹션 을 클릭하여 확장합니다.

마 젠토 구성 패널

3. 카탈로그 검색 을 선택합니다. 여기에서 선택할 모든 검색 엔진 버전과 기타 일반 설정을 볼 수 있습니다.

  • 최소 쿼리 길이 : Elasticsearch 권장 사항 또는 제안이 표시되기 전에 사용자가 입력해야 하는 최소 문자 수입니다. 그리고 시스템 기본값은 3입니다.
  • 최대 쿼리 길이 : 결과를 보기 위해 입력할 최대 문자 수입니다. 시스템 기본값은 128입니다.
  • 캐시에 대한 상위 검색 결과 수: 여기에서 응답 속도를 향상시키기 위해 인기 있는 검색 결과의 제한 수를 입력합니다. 기본값은 100입니다. 용어를 두 번째로 검색할 때 "0"을 제출하여 모든 결과를 캐시합니다.
  • EAV 인덱서 활성화 또는 비활성화: 이 필드를 수정하여 인덱싱 속도를 높이고 인덱서를 사용하는 타사 확장을 방지합니다.
  • 자동 완성 제한: Magento 2 Elasticsearch 자동 완성에 대해 표시되는 최대 검색 결과를 제한하는 값을 설정합니다. 이것은 검색 성능을 향상시키고 표시된 목록을 줄이는 데 도움이 됩니다. 기본 설정은 8입니다.
일반 탄성 검색 설정

2단계: Magento 2 Elasticsearch 연결 구성

다음 표는 Magento와의 연결을 구성하고 테스트하는 데 필요한 옵션을 보여줍니다. 설정을 조정하지 않고 기본값이 작동하도록 하는 경우 다음 단계로 건너뜁니다.

Magento-2-elasticsearch-connection-test-table
출처: Adobe Commerce DevDocs
Magento-2-elasticsearch-connection-test-fields

연결 테스트 를 클릭하여 설정 및 테스트를 완료합니다.

연결에 실패하면 다음 방법을 시도하십시오.

  • Elasticsearch 서버가 아직 실행 중인지 확인하세요.
  • Magento 서버에 로그인하고 Elasticsearch 호스트가 Magento와 다른 호스트에 있는 경우 ping합니다. 네트워크 연결 문제를 해결하고 연결을 다시 테스트하십시오.
  • 계속하기 전에 Elasticsearch를 시작한 명령 창에서 모든 스택 추적 및 오류를 해결하십시오. 그리고 루트 액세스 권한이 있는 사용자로 Elasticsearch를 시작했는지 확인하십시오.
  • UNIX 방화벽과 SELinux가 꺼져 있는지 확인하거나 규칙을 설정하여 Elasticsearch와 Magento 간의 통신을 활성화하십시오.
  • Elasticsearch 서버 포트 필드에서 선택한 포트가 netstat -an | grep **listen-port** netstat -an | grep **listen-port** 명령.

3단계: 제안 및 권장 사항 구성

위에서 언급한 바와 같이 Magento 2 Elasticsearch의 검색 추천 및 제안은 적합한 상품을 찾는 고객에게 편리하고 도움이 됩니다.

이 단계에서는 기본 설정을 활용하거나 몇 가지 사항을 변경할 수 있습니다.

  • 검색 권장 사항 활성화 및 검색 제안 활성화 필드를 활성화합니다.
  • 검색 권장 사항 수검색 제안 수 필드에서 검색 권장 사항 및 제안 수를 제공하도록 선택합니다.
  • 각 권장 사항에 대한 결과 수 표시 및 각 제안에 대한 결과 수 표시 필드에 각 권장 사항 및 제안에 대해 발견된 결과 수를 표시 하거나 표시하지 않도록 허용합니다.
  • 사용자가 가장 관련성이 높은 항목을 수신하기 위해 검색 결과에서 일치해야 하는 최소 용어 수를 설정하려면 일치시킬 최소 용어에 값을 지정하십시오.
Magento-2-elasticsearch-recommendation-suggestion-settings

설정이 완료되면 구성 저장 을 누르십시오.

4단계: Catalog Search 재인덱싱 및 전체 페이지 캐시 새로 고침

Magento 2 Elasticsearch 구성을 변경한 후 카탈로그 검색 인덱스를 다시 인덱싱하고 전체 페이지 캐시를 다시 로드해야 합니다. 이를 수행하는 두 가지 방법이 있습니다. 관리자 또는 명령줄을 사용하는 것입니다.

사용하여 관리자 패널:

  1. 관리에서 시스템 을 클릭하고 캐시 관리로 이동합니다.
  2. 페이지 캐시 상자를 선택합니다.
  3. 페이지 오른쪽 상단의 작업 목록에서 새로 고침 을 선택합니다.
캐시 관리 섹션

캐시를 정리하려면 magento cache:clean 명령을 실행하십시오.

명령줄 사용:

  • 파일 시스템 소유자로 로그인하거나 Magento 서버에서 전환하십시오.
  • Catalog Search 색인만 재색인하려면 다음을 입력하세요.

bin/magento indexer:reindex catalogsearch_fulltext

  • 모든 인덱서를 다시 인덱싱하려면 다음을 입력하십시오.

bin/magento indexer:reindex

  • 재인덱싱 프로세스가 완료될 때까지 기다리십시오.

결론

Netflix, LinkedIn, eBay 등과 같은 유명한 이름에서 사용되는 Elasticsearch는 고객이 쉽고 효과적으로 사이트를 검색할 수 있도록 하는 신뢰를 받고 있습니다. Magento 2 Elasticsearch 구성이 완료되면 검색을 판매로 전환하고 장바구니 포기를 최소화하도록 매장이 강화됩니다.
이 게시물이 유용하기를 바라며 전자 상거래에서 행운을 빕니다!