Live Search (으)로 성공을 위한 설정
Adobe Commerce Live Search과(와) Catalog Service이(가) 함께 작동하여 성능이 뛰어나고 관련성이 있으며 직관적인 검색 솔루션을 제공하므로 고객이 필요한 것을 빠르게 찾을 수 있습니다. 특히 Catalog Service은(는) 사용할 Live Search과(와) 같은 SaaS 서비스를 위한 카탈로그 데이터를 표시합니다.
이 문서에서는 Catalog Service을(를) 사용하여 Live Search을(를) 구현하기 위한 단계별 지침을 제공합니다.
대상자
이 문서는 Adobe Commerce 인스턴스 설치 및 구성을 담당하는 개발자나 시스템 통합자를 대상으로 합니다.
요구 사항
- Adobe Commerce 2.4.4+
- PHP 8.1 / 8.2 / 8.3
- Composer
지원되는 플랫폼
- ECE(Adobe Commerce on Cloud) : 2.4.4+
- Adobe Commerce 온-프레미스 (EE) : 2.4.4+
워크플로우 개요
높은 수준에서 Live Search을(를) 온보딩하려면 다음을 수행해야 합니다.
1. Live Search 확장 설치
Live Search이(가) Adobe 마켓플레이스부터 작성기까지 확장으로 설치되었습니다. Live Search을(를) 설치하고 구성한 후 Commerce Adobe이 SaaS 서비스와 검색 및 카탈로그 데이터를 공유하기 시작합니다. 이 시점에서 관리자 사용자는 검색 패싯, 동의어 및 머천다이징 규칙을 설정하고, 사용자 지정하고, 관리할 수 있습니다.
-
cron jobs 및 인덱서가 실행 중인지 확인하십시오.
note important IMPORTANT 2023년 8월의 Elasticsearch 7 지원 종료 발표로 인해 모든 Adobe Commerce 고객은 OpenSearch 2.x 검색 엔진으로 마이그레이션하는 것이 좋습니다. 제품을 업그레이드하는 동안 검색 엔진을 마이그레이션하는 방법에 대한 자세한 내용은 업그레이드 안내서 에서 OpenSearch로 마이그레이션을 참조하십시오. -
Adobe 마켓플레이스에서
live-search
패키지를 다운로드합니다. -
명령줄에서 다음을 실행합니다.
code language-bash composer require magento/live-search
Live Search 확장을 new Adobe Commerce 설치에 추가하는 경우 다음을 실행하여 OpenSearch 및 관련 모듈을 비활성화하고 Live Search을(를) 설치합니다. 그런 다음 4단계로 진행합니다.
code language-bash bin/magento module:disable Magento_Elasticsearch Magento_Elasticsearch7 Magento_OpenSearch Magento_ElasticsearchCatalogPermissions Magento_InventoryElasticsearch Magento_ElasticsearchCatalogPermissionsGraphQl
기존 Adobe Commerce 설치에 Live Search 확장을 추가하는 경우 다음을 실행하여 Storefront 검색 결과를 제공하는 Live Search 모듈을 일시적으로 비활성화합니다. 그런 다음 4단계로 진행합니다.
code language-bash bin/magento module:disable Magento_LiveSearchAdapter Magento_LiveSearchStorefrontPopover Magento_LiveSearchProductListing
Live Search 서비스가 백그라운드에서 카탈로그 데이터를 동기화하고 제품을 인덱싱하는 동안 Elasticsearch은(는) 상점 첫 화면의 검색 요청을 계속 관리합니다.
-
다음을 실행합니다.
code language-bash bin/magento setup:upgrade
-
다음 인덱서가 "일정별 업데이트"로 설정되어 있는지 확인하십시오.
- 제품 피드
- 제품 변형 피드
- 카탈로그 속성 피드
- 제품 가격 피드
- 범위 웹 사이트 데이터 피드
- Scopes 고객 그룹 데이터 피드
- 카테고리 피드
- 범주 권한 피드
-
새 Commerce 인스턴스에 Live Search을(를) 설치하는 경우 완료되었으며 2로 건너뛸 수 있습니다. API 키섹션을 구성하십시오. 기존 Commerce 인스턴스에 라이브 검색을 설치하는 경우 다음 단계를 진행합니다.
-
다음 명령을 실행하여 Live Search 확장을 활성화하고 OpenSearch을(를) 비활성화하고
setup
을(를) 실행합니다.code language-bash bin/magento module:enable Magento_LiveSearchAdapter Magento_LiveSearchStorefrontPopover Magento_LiveSearchProductListing
code language-bash bin/magento module:disable Magento_Elasticsearch Magento_Elasticsearch6 Magento_Elasticsearch7 Magento_ElasticsearchCatalogPermissions Magento_InventoryElasticsearch Magento_ElasticsearchCatalogPermissionsGraphQl
code language-bash bin/magento setup:upgrade
2. API 키 구성
Adobe Commerce API 키와 연결된 개인 키가 있어야 Adobe Commerce 설치에 Live Search을(를) 연결할 수 있습니다. API 키는 개발자 또는 시스템 통합자와 공유할 수 있는 Commerce 라이선스 소유자의 계정에서 생성 및 관리됩니다. 그런 다음 개발자는 라이선스 소유자를 대신하여 SaaS Data Spaces를 만들고 관리할 수 있습니다. 이미 API 키 세트가 있는 경우 재생성할 필요가 없습니다.
Commerce 서비스 커넥터 문서에서 API 키를 구성하는 방법을 알아봅니다.
3. 카탈로그 데이터 동기화 synchronize-catalog-data
Live Search이(가) 카탈로그 데이터를 Adobe의 SaaS 인프라로 이동합니다. 데이터가 색인화되고 검색 결과가 이 색인에서 상점 앞으로 직접 전달됩니다. 크기와 복잡성에 따라 색인화는 30분에서 2시간 정도 소요될 수 있습니다.
카탈로그 데이터를 SaaS 서비스에 초기 동기화하려면 다음 명령을 순서대로 실행합니다.
bin/magento saas:resync --feed productattributes
bin/magento saas:resync --feed products
bin/magento saas:resync --feed scopesCustomerGroup
bin/magento saas:resync --feed scopesWebsite
bin/magento saas:resync --feed prices
bin/magento saas:resync --feed productoverrides
bin/magento saas:resync --feed variants
bin/magento saas:resync --feed categories
bin/magento saas:resync --feed categoryPermissions
이 명령을 실행하면 카탈로그 데이터가 SaaS 서비스에 처음 동기화됩니다.
cron
이(가) 데이터를 SaaS 서비스와 동기화하기 위해 실행된 후 최소 1시간이 걸릴 수 있습니다.동기화 진행 상황 모니터링
데이터 관리 대시보드를 사용하여 동기화되고 공유된 데이터를 볼 수 있습니다. 이 대시보드는 상점 제품 데이터의 가용성에 대한 중요한 통찰력을 제공하여 구매자에게 즉시 표시되도록 합니다.
Commerce CLI 및 데이터 내보내기 확장 로그를 사용하여 동기화 명령을 실행하고 동기화 프로세스 문제를 해결할 수도 있습니다.
향후 제품 업데이트
초기 동기화 후 점포 검색에서 증분 제품 업데이트를 사용할 수 있는 데 최대 15분이 걸릴 수 있습니다. 자세한 내용은 색인화 - 스트리밍 제품 업데이트를 참조하세요.
4. 데이터를 내보냈는지 확인 verify-export
카탈로그 데이터가 Adobe Commerce 인스턴스에서 내보내졌으며 Live Search에 대해 동기화되었는지 확인하려면 다음 두 가지 옵션을 사용합니다.
-
다음 표에서 항목을 찾습니다.
catalog_data_exporter_products
catalog_data_exporter_product_attributes
-
기본 쿼리와 함께 GraphQL 플레이그라운드를 사용하여 다음을 확인하십시오.
- 반환된 제품 수는 스토어 보기에 예상되는 값과 비슷합니다.
- Facet이 반환됩니다.
추가 도움말은 지원 기술 자료에서 Live Search 동기화되지 않은 카탈로그를 참조하십시오.
5. 데이터 구성
제품 데이터를 올바르게 구성하면 고객에게 좋은 검색 결과를 얻을 수 있습니다. 이 섹션에서는 제품 목록 위젯을 활성화하고 카테고리를 할당합니다.
제품 목록 위젯 활성화
Live Search 4.0.0+를 설치하면 기본적으로 제품 목록 위젯이 활성화됩니다. 위젯이 활성화되면 검색 결과 페이지 및 카테고리 찾아보기 제품 목록 페이지에 대해 다른 UI 구성 요소가 사용됩니다. 이 UI 구성 요소는 카탈로그 서비스 API를 직접 호출하여 응답 시간이 빨라집니다.
Live Search 버전이 4.0.0+보다 오래된 경우 제품 목록 위젯을 수동으로 활성화해야 합니다.
-
관리자 에서 Stores > Settings>Configuration(으)로 이동합니다.
-
Live Search 에서 Storefront Features 을(를) 선택합니다.
-
Enable Product Listing Widgets 을(를)
Yes
(으)로 설정합니다.
이 구성을 변경하면 Page cache is invalidated
메시지가 나타납니다. 변경 사항을 저장하려면 Magento 캐시를 플러시해야 합니다.
-
다음 중 하나를 수행하여 캐시 관리 페이지에 액세스합니다.
- 작업 영역 위의 메시지에서 Cache Management 링크를 클릭합니다.
- 관리자 사이드바에서 System > Tools>Cache Management(으)로 이동합니다.
-
구성 Cache Type을(를) 선택하고 Flush Magento Cache 을(를) 클릭합니다.
Storefront에 대한 변경 사항은 캐시를 플러시한 직후 입니다.
범주 할당
Live Search에서 반환된 제품은 category에 할당되어야 합니다. 예를 들어 Luma에서 제품은 "남성", "여성" 및 "톱니바퀴"와 같은 범주에 배치됩니다. 또한 하위 카테고리는 "Tops", "Bottom" 및 "Watches"에 대해 설정됩니다. 이를 통해 필터링 시 세부기간을 향상시킬 수 있습니다.
6. 연결 테스트 test-connection
이제 SaaS에서 카탈로그 데이터를 사용하여 다음 시나리오에서 제품 데이터가 반환되는지 테스트하십시오.
- Search 상자는 결과를 올바르게 반환합니다.
- 범주 찾아보기가 결과를 올바르게 반환합니다.
- 패싯은 검색 결과 페이지에서 필터로 사용할 수 있습니다
모든 기능이 올바르게 작동하면 Live Search이(가) 설치 및 연결되어 사용할 준비가 되었습니다.
상점 앞에서 문제가 발생하면 var/log/system.log
파일에서 서비스 측에서 API 통신 오류 또는 오류를 확인하십시오.
방화벽을 통해 Live Search을(를) 허용하려면 commerce.adobe.io
을(를) 허용 목록에 추가하십시오.
7. 상점 전면을 맞춤 설정합니다
Live Search 확장을 설치하고, 동기화하고, 검증하고, 데이터를 구성했습니다. 이제 Live Search 위젯이 스토어의 모양과 느낌을 준수하는지 확인해야 합니다.
필요에 따라 사용자 정의 CSS 규칙을 정의하여 팝오버 및 PLP 위젯의 스타일을 지정할 수 있습니다. 스타일 팝오버 요소 및 제품 목록 페이지 위젯을 참조하세요.
위젯의 기능을 확장하려는 경우 각각의 소스 코드를 공용 리포지토리에서 사용할 수 있습니다.
이 시나리오에서는 사용자 자신의 요구 사항에 맞게 JavaScript을 사용자 지정한 다음 CDN에서 사용자 지정 코드를 호스팅할 수 있습니다. 이 사용자 지정 스크립트는 Live Search 서비스와 통신하며 일반적인 결과를 반환하므로 사용자가 위젯의 기능을 제어할 수 있습니다.
Live Search 업데이트 중 update
Live Search를 업데이트하기 전에 명령줄에서 다음을 실행하여 설치된 Live Search 버전을 확인합니다.
composer show magento/module-live-search | grep version
Live Search을(를) 업데이트하려면 명령줄에서 다음을 실행하십시오.
composer update magento/live-search --with-dependencies
3.1.1에서 4.0.0으로 등 주요 버전으로 업데이트하려면 다음과 같이 프로젝트의 루트 Composer .json
파일을 편집하십시오.
-
현재 설치된
magento/live-search
버전이3.1.1
이하이고4.0.0
버전 이상으로 업그레이드하는 경우 업그레이드하기 전에 다음 명령을 실행하십시오.code language-bash bin/magento module:enable Magento_AdvancedSearch
현재 설치된
magento/live-search
버전에 대한 자세한 내용을 보려면 다음 명령을 실행하십시오.code language-bash composer show magento/live-search
-
루트
composer.json
파일을 열고magento/live-search
을(를) 검색합니다. -
require
섹션에서 버전 번호를 다음과 같이 업데이트합니다.code language-json "require": { ... "magento/live-search": "^4.0", ... }
-
composer.json
을(를) 저장합니다. 그런 다음 명령줄에서 다음을 실행합니다.code language-bash composer update magento/live-search --with-dependencies
Live Search을(를) 제거하는 중 uninstall
Live Search을(를) 제거하려면 모듈 제거를 참조하세요.
패키지 Live Search개 packages
Live Search 확장은 다음 패키지로 구성됩니다.
module-live-search
module-live-search-adapter
module-live-search-storefront-popover
Live Search개의 종속성 dependencies
다음 Live Search 종속성은 Composer에 의해 캡처됩니다.
magento/module-saas-catalog
magento/module-saas-category
magento/module-saas-category-permissions
magento/module-saas-product-override
magento/module-saas-product-variant
magento/module-saas-price
magento/module-saas-scopes
magento/module-bundle-product-data-exporter
magento/module-catalog-inventory-data-exporter
magento/module-catalog-url-rewrite-data-exporter
magento/module-configurable-product-data-exporter
magento/module-parent-product-data-exporter
magento/module-gift-card-product-data-exporter
magento/module-bundle-product-override-data-exporter
data-services
services-id
고급 개념
다음 단원에서는 Live Search 및 Catalog Service을(를) 사용할 때 더 많은 고급 항목을 제공합니다.
엔드포인트
Live Search은(는) https://catalog-service.adobe.io/graphql
의 끝점을 통해 통신합니다.
Live Search이(가) 전체 제품 데이터베이스에 액세스할 수 없으므로 Live Search GraphQL 및 Commerce 코어 GraphQL에 전체 패리티가 없습니다.
SaaS API(특히 카탈로그 서비스 끝점)를 직접 호출하는 것이 좋습니다.
- Commerce 데이터베이스/Graphql 프로세스를 건너뛰어 성능 향상 및 프로세서 로드 감소
- Catalog Service 페더레이션을 사용하여 단일 끝점에서 Live Search, Catalog Service 및 Product Recommendations을(를) 호출합니다.
일부 사용 사례의 경우 Catalog Service에 전화를 걸어 제품 세부 정보 및 유사한 사례를 확인하는 것이 좋습니다. 자세한 내용은 refineProduct을(를) 참조하십시오.
사용자 지정 Headless 구현이 있는 경우 Live Search 참조 구현을 확인하십시오.
Luma의 검색 어댑터 또는 위젯 또는 AEM CIF 위젯과 같은 기본 구성 요소를 사용하지 않는 경우 이벤트(Intelligent Merchandising 및 성능 지표를 위해 Adobe Sensei에 제공하는 클릭스트림 데이터)가 즉시 작동하지 않으며 Headless 이벤트를 구현하기 위해 사용자 정의 개발이 필요합니다.
Live Search의 최신 버전은 이미 Catalog Service을(를) 사용하고 있습니다.
언어 지원
Live Search 위젯은 다음 언어를 지원합니다.
위젯에서 Commerce 관리 언어 설정(스토어 > 설정 > 구성 > 일반 > 국가 옵션)이 지원되는 언어와 일치함을 감지하면 기본적으로 해당 언어로 설정됩니다. 그렇지 않은 경우 위젯은 기본적으로 영어로 설정됩니다.
관리자는 검색 인덱스의 언어를 설정하여 더 나은 검색 결과를 얻을 수 있습니다.
위젯 코드 저장소
제품 목록 페이지 위젯 및 라이브 검색 필드 위젯은 모두 github 저장소에서 다운로드할 수 있습니다.
이를 통해 개발자는 기능과 스타일을 완전히 맞춤화할 수 있습니다. 이러한 사용자는 코드 자체를 호스팅하면서 Live Search 서비스를 계속 사용합니다.
데이터 내보내기 확장
라이브 검색이 활성화된 후 데이터 내보내기 확장은 Commerce 애플리케이션과 라이브 검색 간에 Commerce 데이터를 동기화합니다. 이 프로세스를 통해 상점에서 최신 Commerce 데이터를 사용할 수 있습니다. 관리에서 데이터 관리 대시보드를 사용하여 동기화 상태를 확인할 수 있습니다. Commerce CLI 및 로그를 사용하여 데이터 내보내기 프로세스를 관리하고 문제를 해결할 수 있습니다. 자세한 내용은 데이터 내보내기 안내서를 참조하세요.
Inventory management
Live Search은(는) Commerce(이전에는 Multi-Source Inventory 또는 MSI로 알려짐)에서 Inventory management 기능을 지원합니다. 전체 지원을 활성화하려면 종속성 모듈 commerce-data-export
을(를) 버전 102.2.0+로 업데이트해야 합니다.
Live Search은(는) Inventory management 내에서 제품을 사용할 수 있는지 여부를 나타내는 부울을 반환하지만, 재고가 있는 소스에 대한 정보는 포함하지 않습니다.
가격 인덱서
Live Search 고객은 SaaS 가격 인덱서를 사용할 수 있으므로 가격 변경 업데이트 및 동기화 시간이 빨라집니다.
가격 지원
라이브 검색 위젯은 Adobe Commerce에서 지원하는 대부분의 가격 유형을 지원하지만 일부 가격 유형은 지원하지 않습니다.
현재 기본 가격이 지원됩니다. 지원되지 않는 고급 가격은 다음과 같습니다.
- 비용
- 최소 광고 가격
보다 복잡한 가격 계산은 API Mesh를 참조하세요.
가격 형식은 Commerce 인스턴스 내의 로케일 구성 설정을 지원합니다. 스토어 > 설정 > 구성 > 일반 > 일반 > 로컬 옵션 > 로케일.
헤드리스 상점 첫 화면 지원
선택적으로, 상점 동작 데이터 수집에 필요한 필드를 포함하도록 응용 프로그램의 기존 GraphQL 범위를 확장하는 module-data-services-graphql
모듈을 설치해야 할 수 있습니다.
composer require magento/module-data-services-graphql
이 모듈은 GraphQL 쿼리에 추가 컨텍스트를 추가합니다.
dataServicesStorefrontInstanceContext
dataServicesMagentoExtensionContext
dataServicesStoreConfigurationContext
B2B 지원
Live Search은(는) 추가 제한과 함께 B2B 기능을 지원합니다.
PWA 지원
Live Search은(는) PWA Studio에서 작동하지만 다른 Commerce 구현과 비교하여 약간의 차이가 있을 수 있습니다. 검색 및 제품 목록 페이지와 같은 기본 기능은 Venia에서 작동하지만 Graphql의 일부 순열이 제대로 작동하지 않을 수 있습니다. 성능 차이도 있을 수 있습니다.
PWA Studio에 Live Search을(를) 사용하려면 통합자도 다음을 수행해야 합니다.
-
livesearch-storefront-utils을(를) 설치합니다.
-
storeDetails
개체에서environmentId
을(를) 설정합니다.code language-javascript const storeDetails: StoreDetailsProps = { environmentId: <Storefront_ID>, websiteCode: "base", storeCode: "main_website_store", storeViewCode: "default", searchUnitId: searchUnitId, config: { minQueryLength: 5, pageSize: 8, currencySymbol: "$", }, };
쿠키
Live Search은(는) 기본 기능의 일부로 사용자 상호 작용 데이터를 수집하며 쿠키는 이 데이터를 저장하는 데 사용됩니다. 사용자 정보를 수집할 때 사용자는 쿠키를 저장하는 데 동의해야 합니다. Live Search 및 Product Recommendations이(가) 데이터 스트림을 공유하므로 동일한 쿠키 메커니즘이 사용됩니다. 자세한 내용은 쿠키 제한 처리를 참조하세요.