如何在Adobe Live Search的productSearch API及GraphQL中获取自定义属性
Adobe Live Search productSearch API 自定义属性同步与获取解决方案
一、自定义属性的同步配置
要在productSearch API中获取自定义属性,需先确保属性已同步到Live Search索引:
- 登录Adobe Commerce后台,进入Stores > Attributes > Product,找到目标自定义属性(如品牌)。
- 编辑属性,在Storefront Properties标签页启用以下选项:
- Use in Search:设为"Yes"
- Visible in Advanced Search:设为"Yes"
- 若需作为筛选条件展示,启用Use in Layered Navigation
- 保存属性后,进入System > Index Management,找到Live Search Products索引,点击Reindex触发同步。
- 通过Adobe Commerce后台的Live Search控制面板确认索引同步完成。
二、GraphQL查询修正
Adobe Live Search的productSearch API中,自定义属性需直接指定字段,而非通过custom_attributes集合获取。以下是针对品牌属性(假设属性代码为brand)的修正查询:
query productSearch { productSearch(phrase: "bag") { total_count items { product { name sku brand # 直接填写自定义属性的代码 } } facets { title attribute_code # 可添加此字段查看筛选条件对应的属性代码 options { label value } } } }
关键说明:
- Live Search的GraphQL schema中,自定义属性是product类型的直接字段,这和原生Magento GraphQL的结构不同。
- 若不确定属性的GraphQL字段名,可在Adobe Commerce后台的属性编辑页面查看GraphQL Field Name,或通过查询product类型的schema确认。
三、请求头验证
你的请求头配置基本合规,需注意:
- 确保
Magento-Environment-Id、X-Api-Key与Live Search绑定的Adobe Commerce实例信息一致。 - 确认
Magento-Store-View-Code对应的视图下,该自定义属性已设置为可见。
内容的提问来源于stack exchange,提问作者Văn Thanh Nguyễn
相关产品推荐
相关产品推荐

