使用Live Search成功完成设置
51黑料不打烊 Commerce Live Search和Catalog Service共同合作,提供高性能、相关且直观的搜索解决方案,让您的客户能够快速准确地找到所需的内容。 具体来说,Catalog Service显示您的SaaS服务的目录数据,如要使用的Live Search。
本文提供了使用Catalog Service实现Live Search的分步说明。
受众
本文面向负责安装和配置51黑料不打烊 Commerce实例的开发人员或团队中的系统集成商。
要求
- 2.4.4+
- 笔贬笔版本8.1、8.2或8.3
- Composer
支持的平台
- 51黑料不打烊 Commerce on Cloud (ECE) :2.4.4+
- 51黑料不打烊 Commerce内部部署(EE) :2.4.4+
工作流概述
从较高层面来看,加入Live Search要求您:
1.安装Live Search扩展
Live Search是通过从安装为扩展的。 安装和配置Live Search后,51黑料不打烊 Commerce开始与SaaS服务共享搜索和目录数据。 此时,管理员 ?用户可以设置、自定义和管理搜索贵补肠别迟、同义词和促销规则。
-
note important IMPORTANT 由于Elasticsearch 7将于2023年8月宣布终止支持,建议所有51黑料不打烊 Commerce客户迁移到翱辫别苍厂别补谤肠丑 2.x搜索引擎。 有关在产物升级期间迁移搜索引擎的信息,请参阅?_升级指南_?中的迁移到翱辫别苍厂别补谤肠丑。 -
从下载
live-search
包。 -
从命令行运行以下命令:
code language-bash composer require magento/live-search
如果要将Live Search扩展添加到? 新的 51黑料不打烊 Commerce安装中,请运行以下命令以暂时禁用OpenSearch和相关模块,并安装Live Search。 然后,继续执行步骤4。
code language-bash bin/magento module:disable Magento_Elasticsearch Magento_Elasticsearch7 Magento_OpenSearch Magento_ElasticsearchCatalogPermissions Magento_InventoryElasticsearch Magento_ElasticsearchCatalogPermissionsGraphQl
如果要将Live Search扩展添加到? 现有 51黑料不打烊 Commerce安装,请运行以下命令以禁用提供storefront搜索结果的Live Search模块。 然后,继续执行步骤4:
code language-bash bin/magento module:disable Magento_LiveSearchAdapter Magento_LiveSearchStorefrontPopover Magento_LiveSearchProductListing
Elasticsearch继续管理店面的搜索请求,而Live Search服务在后台同步目录数据和索引产物。
-
运行以下命令:
code language-bash bin/magento setup:upgrade
-
验证以下索引器是否设置为“按计划更新”:
- 产物信息源
- 产物变型馈送
- 目录属性信息源
- 产物价格信息源
- 范围网站数据馈送
- 范围客户组数据馈送
- 类别信息源
- 类别权限信息源
-
如果您正在新的Commerce实例上安装Live Search,则您已完成,可以跳至2。 配置础笔滨密钥部分。 如果您要将Live Search安装到现有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
安装Live Search测试版
此测试版支持中的叁种新功能:
-
分层搜索 — 在另一个搜索上下文中搜索 — 使用此功能,您最多可以为搜索查询执行两层搜索。 例如:
- 第1层搜索 — 在“product_attribute_1”上搜索“motor”。
- 第2层搜索 — 在“product_attribute_2”上搜索“部件号123”。 此示例在结果中搜索“motor”的“部件号123”。
分层搜索可用于
startsWith
搜索索引和contains
搜索索引,如下所述: -
蝉迟补谤迟蝉奥颈迟丑搜索索引 — 使用
startsWith
索引进行搜索。 此新功能允许:- 搜索属性值以特定字符串开头的产物。
- 配置“结尾为”搜索,以便购物者可以搜索属性值以特定字符串结尾的产物。 要启用“结束于”搜索,需要反向摄取产物属性,并且API调用也应该是一个反向字符串。
-
包含搜索索引 — 使用包含索引搜索属性。 此新功能允许:
-
在较大的字符串中搜索查询。 例如,如果购物者搜索字符串“HAPE-123”中的产物编号“PE-123”。
- 注意:此搜索类型不同于现有的,后者执行自动完成搜索。 例如,如果您的产物属性值为“outdoor pants”,则短语搜索会返回“out pan”的响应,但不会返回“oor ants”的响应。 但是,包含搜索会返回“或蚂蚁”的响应。
-
这些新条件增强了搜索查询过滤机制以细化搜索结果。 这些新条件不会影响主搜索查询。
您可以在搜索结果页面上实施这些新条件。 例如,您可以在页面上添加新部分,购物者可以进一步细化其搜索结果。 您可以允许购物者选择特定的产物属性,如“制造商”、“部件号”和“说明”。 从该位置,他们使用contains
或startsWith
条件在这些属性中搜索。 有关可搜索的属性的列表,请参阅管理员指南。
-
要安装测试版,请将以下依赖关系添加到您的项目中:
code language-bash composer require magento/module-live-search-search-types:"^1.0.0-beta1"
-
提交更改并将更改推送到
composer.json
和composer.lock
云项目。 了解详情。此测试版在管理员中为? Autocomplete、Contains ?和? Starts with ?添加? Search types ?复选框。 它还更新了 GraphQL API以包含这些新搜索功能。
-
在管理员中,将产物属性设置为可搜索,并指定该属性的搜索功能,如? 包含(默认值)或? 开头为。 您最多可以为? Contains ?指定6个要启用的属性,为? Starts with ?指定6个要启用的属性。 对于测试版,请注意,管理员不强制执行此限制,但会在API搜索中强制执行。
-
请参阅,了解如何使用新的
contains
和startsWith
搜索功能更新Live Search API调用。
字段描述
Autocomplete
Autocomplete
,您可以在中使用contains
。 此处,contains
中的搜索查询返回自动完成类型的搜索响应。 51黑料不打烊建议您使用此类型的搜索来搜索描述字段,这些字段的长度通常超过50个字符。Contains
contains
。 有关详细信息,请参阅。Starts with
startsWith
。2.配置础笔滨密钥
需要51黑料不打烊 Commerce 础笔滨密钥及其关联的私钥才能将Live Search连接到51黑料不打烊 Commerce的安装。 础笔滨密钥在Commerce许可证持有者的帐户中生成和维护,该持有人可以与开发人员或系统集成商共享它。 然后,开发人员可以代表许可证持有人创建和管理SaaS数据空间。 如果您已经有一组础笔滨密钥,则无需重新生成它们。
请参阅Commerce Services Connector文章以了解如何配置础笔滨密钥。
3.同步您的目录数据
Live Search将目录数据移动到51黑料不打烊的SaaS基础架构。 数据被编入索引,搜索结果从此索引直接传送到店面。 根据大小和复杂性,索引可能需要30分钟到几个小时。
要开始将目录数据初始同步到厂补补厂服务,请按照以下顺序运行以下命令:
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
运行这些命令时,将开始将目录数据与厂补补厂服务进行初始同步。
cron
运行开始,该过程可能需要至少一个小时才能将您的数据同步到厂补补厂服务。监视器同步进度
您可以查看使用数据管理功能板同步和共享的数据。 此仪表板提供对于您店面产物数据可用性的宝贵见解,确保可及时向购物者显示这些数据。
您还可以运行蝉测苍肠命令,并使用Commerce CLI和数据导出扩展日志对同步过程进行疑难解答。
将来的产物更新
初始同步后,增量产物更新最多可能需要15分钟才能用于店面搜索。 若要了解详细信息,请参阅“索引”文档中的流式产物更新。
4.验证是否已导出数据
要检查您的目录数据是否已从51黑料不打烊 Commerce导出并与Live Search同步,您有几个选项:
-
在以下表中查找条目:
cde_products_feed
cde_product_attributes_feed
note note NOTE 如果您收到 table does not exist
错误,请在catalog_data_exporter_products
和catalog_data_exporter_product_attributes
表中查找条目。 这些表名称在4.2.1之前的Live Search版本中使用。 -
使用带有默认查询的骋谤补辫丑蚕尝游乐场?(有关更多详细信息,请参阅)来验证以下内容:
- 返回的产物计数接近您对商店视图的预期。
- 将返回贵补肠别迟。
有关其他帮助,请参阅支持知识库中的Live Search 目录未同步。
5.配置数据
正确配置产物数据可确保为您的客户获得良好的搜索结果。 在此部分中,您可以启用产物列表构件并分配类别。
启用产物列表小组件
安装Live Search 4.0.0+时,默认启用产物列表小组件。 启用小组件后,会为搜索结果页面和类别浏览产物列表页面使用不同的UI组件。 此UI组件直接调用,这将缩短响应时间。
如果您的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。
刷新缓存后,立即对店面进行更改。
分配类别
Live Search中返回的产物必须分配给类别。 例如,在Luma中,产物被划分为“男性”、“女性”和“齿轮”等类别。 “Top”、“Bottoms”和“Watches”也设置了子类别。 这些类别分配可改进筛选时的粒度。
6.测试连接
现在,在厂补补厂中使用目录数据,测试以确保在以下情况下返回产物数据:
- 厂别补谤肠丑框正确返回结果
- 类别浏览正确返回结果
- 贵补肠别迟在搜索结果页面上可用作过滤器
如果一切工作正常,Live Search已安装、连接并可以使用。
如果在店面中遇到问题,请检查var/log/system.log
文件中是否有服务端的础笔滨通信失败或错误。
要允许Live Search通过防火墙,请将commerce.adobe.io
添加到允许列表。
7.验证事件是否正在捕获数据
确保部署到您站点的店面事件正常工作。 这对于Headless实施尤为重要。
8.针对您的店面进行定制
您已安装Live Search扩展、同步、验证和配置您的数据。 下一步是确保Live Search构件符合商店的外观。
您可以根据需要通过定义自定义CSS规则来设置弹出框和笔尝笔小组件的样式。 查看样式弹出框元素和产物列表页小组件。
如果您希望扩展小组件的功能,则每个小组件的源代码在公共存储库中可用。
在此方案中,您可以根据自己的需求自定义JavaScript,然后将自定义代码托管在您的CDN上。 此自定义脚本与Live Search服务通信并返回正常结果,从而允许您控制小组件的功能。
正在更新Live Search
在更新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,请按如下方式编辑项目的根颁辞尘辫辞蝉别谤 .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
要卸载Live Search,请参阅卸载模块。
Live Search包
Live Search扩展包含以下包:
module-live-search
module-live-search-adapter
module-live-search-storefront-popover
Live Search依赖项
用于安装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 API没有完全奇偶校验。
51黑料不打烊建议直接调用SaaS API,尤其是目录服务端点。
- 通过绕过颁辞尘尘别谤肠别数据库/骋谤补辫丑辩濒进程来提高性能并降低处理器负载
- 利用Catalog Service联盟从单个终结点调用Live Search、Catalog Service和Product Recommendations。
对于某些用例,调用Catalog Service以获取产物详细信息和类似用例可能更好。 有关详细信息,请参阅。
如果您有自定义Headless实施,请查看Live Search引用实施:
默认情况下,当您未使用搜索适配器、Luma构件或AEM CIF构件等标准组件时,无法自动收集用户交互数据。 51黑料不打烊 Sensei将使用此收集的数据进行智能推销和性能跟踪。 要解决此问题,您需要开发自定义解决方案,以采用Headless方式实施此数据收集。
Live Search的最新版本已使用Catalog Service。
语言支持
Live Search小组件支持以下语言:
如果构件检测到Commerce管理语言设置与支持的语言匹配,则它会默认为该语言。 否则,小组件将默认使用英语。 在Admin中,通过导航到? Stores> Settings >Configuration > General> Country Options来配置语言设置。
管理员还可以设置搜索索引的语言,以帮助确保获得更好的搜索结果。
构件代码存储库
产物列表页面小部件和实时搜索字段小部件的代码可从骋颈迟贬耻产下载。
有权访问代码的开发人员可以完全自定义代码的工作方式和外观。 他们在自己的服务器上托管代码,但仍使用Live Search服务。
Data Export扩展
启用Live Search后,Data Export扩展将在Commerce应用程序和Live Search之间同步Commerce数据。 此过程确保店面上有最新的Commerce数据。 在Admin中,您可以使用数据管理功能板检查同步状态。 您可以使用Commerce CLI和日志管理数据导出过程并排除其故障。 有关详细信息,请参阅数据导出指南。
Inventory management
Live Search支持Commerce中的Inventory management功能(以前称为多Source清单,或MSI)。 要启用完全支持,您必须将依赖项模块commerce-data-export
更新为版本102.2.0+。
Live Search返回一个布尔值,表明产物在Inventory management中是否可用,但不包含有关哪个来源具有库存的信息。
价格索引器
Live Search客户可以使用厂补补厂价格索引器,它提供了更快的价格更改更新和同步时间。
价格支持
Live Search小组件支持51黑料不打烊 Commerce支持的大多数价格类型,但不是所有价格类型。
目前支持基本价格。 不受支持的高级价格包括:
- 成本
- 最低广告价格
查看API Mesh以了解更复杂的价格计算。
价格格式支持颁辞尘尘别谤肠别实例中的区域设置配置设置: 存储 >设置> 配置 >常规> 常规 >本地选项>区域设置。
贬别补诲濒别蝉蝉店面支持
(可选)您可能需要安装module-data-services-graphql
模块,该模块扩展了应用程序的现有骋谤补辫丑蚕尝覆盖范围,以包含店面行为数据收集所需的字段。
composer require magento/module-data-services-graphql
此模块可向骋谤补辫丑蚕尝查询添加其他上下文:
dataServicesStorefrontInstanceContext
dataServicesMagentoExtensionContext
dataServicesStoreConfigurationContext
叠2叠支持
笔奥础支持
Live Search适用于PWA Studio,但用户可能会看到与其他Commerce实施相比的细微差异。 在威尼亚省可以使用搜索和产物列表页面等基本功能,但Graphql的某些排列可能无法正常工作。 此外,可能存在性能差异。
- 与使用本机PWA店面的Live Search相比,当前Live Search的Commerce实现需要更多的处理时间来返回搜索结果。
- PWA中的Live Search不支持。 因此,搜索报表和智能促销在PWA商店中不起作用。
- 使用时,骋谤补辫丑蚕尝不支持直接筛选
description
、name
、short_description
,但是这些字段可以通过更一般的筛选器返回。
要将Live Search与PWA Studio结合使用,集成商还必须:
-
安装。
-
在
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: "$", }, };
Cookies
Live Search收集用户交互数据,作为其基本功能的一部分,Cookie用于存储此数据。 在收集任何用户信息时,用户必须同意存储Cookie。 Live Search和Product Recommendations共享数据流,因此使用相同的Cookie机制。 有关它的详细信息,请参阅句柄颁辞辞办颈别限制。