您在此处:
排序规则的工作方式
B2C Commerce 排序规则允许您控制如何向客户展示搜索结果。使用排序规则,您可以让某些产品出现在搜索结果顶部以引起客户注意。可以使用任何属性对搜索结果进行排序,或者通过创建动态属性结合使用加权的多个属性对结果进行排序。
应用规则的顺序和结束关系
排序规则按照排序规则列表中顶部属性的值评估所有产品。它使用第二个属性中断第一个属性的值中的任何关系,然后使用第三属性的值中断第一个和第二个属性的值中的任何关系。它以这种方式继续处理排序中使用的所有属性。
所有排序规则经过评估后,与所有属性关联(或精确匹配)或排序属性为空值的产品都通过默认排序规则进行排序。这些规则根据搜索索引文件顺序返回产品,即按产品在搜索索引中的储存顺序。客户无法控制索引文档顺序,它可以从一个版本更改为另一个版本。
这些示例中使用的值经过简化。
示例:
此示例演示如果设置了排序规则如何对产品进行排序:首先按搜索位置对产品排序,允许商家明确定义他们希望首先出现的项目。然后,按最低退货率方式对产品排序。最后,按最高销售速度方式对产品进行排序。后两种属性都是动态数据 (Active Data) 属性,其值基于在 Storefront 中聚合的值。
以下各表显示如何应用每个规则基于产品属性值和方向对产品 A-F 进行排序
如果您要合并两个属性,而不是使用它们连续排序,这也会更改排序。以下示例显示一个 myRank 动态属性,该属性以 50/50 加权方式合并 searchRank 和 categoryPosition。
方向
可以指定对结果进行排序的顺序。
| 数据类型 | 升序 | 降序 |
|---|---|---|
| 字符串 | A-Z | Z-A |
| 字符串枚举 | 按属性值排序,而不是按显示值(1-100,A-Z)。未定义多个值的排序。 在以下示例中,数字是值,括号中的词语是显示值。 0010(冬季) 0040(踝) |
按属性值排序,而不是按显示值。(100-1,Z-A)。未定义多个值的排序。 在以下示例中,数字是值,括号中的词语是显示值。 0040(踝) 0010(冬季) |
| 日期 + 时间 | 01/01/2001:12:01a - 12/30/2020:11:59 p | 12/30/2020:11:59 p - 01/01/2001:12:01a |
| 布尔 | 1. 值为“false”的产品 2. 值为“true”的产品 |
1. 值为“true”的产品 2. 值为“false”的产品 |
| 整数 | 1–100 | 100-1 |
| 编号 | 0.01 - 99.99 | 99.99 -.01 |
| 日期 | 01/01/2001- 12/30/2020 | 12/30/2020 - 01/01/2001 |
| 整数枚举 | 1–100 | 100-1 |
继承
如果排序规则未分配到分类,则该分类从其父级分类继承排序规则。这种继承会一直上溯到分类结构的根 - 目录。
- 如果将排序规则分配到目录,而未将排序规则分配到其任何分类,则所有分类都继承该分配的排序规则。
- 如果将排序规则分配到目录中的分类,它将覆盖该分类已从其上级分类(父级分类或更高分类)之一继承的排序规则。然后,此分配的分类由其所有子级(子分类及更下级分类)继承。采用这种方式,只需分配几个排序规则即可影响大量分类。
为了简化和优化性能,应该仅在要更改分类和其子分类要继承的排序规则时,才分配排序规则。例如,假设目录有顶级分类 A、B、C 和 D。如果 A 和 C 应该有规则 1,B 应该有规则 2,D 应该有规则 3,则最佳方式是将规则 1 分配到目录、规则 2 分配到 B,规则 3 分配到 D。如果将规则 1 分配到 A 和 C 也能获得相同的结果,但这没不必要。
如果 B 的子分类 B1 应该有规则 1,必须将规则 1 分配到该子分类。这是因为即使将规则 1 分配到该目录,B1 也不会继承规则 1,因为规则 2 分配到了其父级分类 B。对 B 分配规则 2 会更改将从目录继承的规则。将规则 1 分配到 B1 会更改将从 B 继承的规则。该树形结构显示了排序规则和其继承:
目录(已分配规则 1)
- 分类 A(从目录继承规则 1)
- 分类 B(已分配规则 2,覆盖来自目录的规则 1)
- 分类 B1(已分配规则 1,覆盖来自分类 B 的规则 2)
- 分类 C(从目录继承规则 1)
- 分类 D(已分配规则 3,覆盖来自目录的规则 1)
变体产品排序规则
对主产品排序时,若主产品没有自己的值,则使用所有变体产品中的最高或最低值(取决于排序方向)。默认变体产品的值不优于其它变体。对于具有动态数据的排序规则,复杂产品(主产品、产品组合、套装等)的聚合动态数据值用于所有变体产品(即表示的产品)。
排序产品组合
如果一个产品组合包含变体产品,则根据变体产品中定义的属性进行排序,除非该产品组合或主产品对这些属性定义了自己的值,例如聚合动态数据指标。
多站点排序规则
多站点排序规则在所有站点中全局应用排序规则。可以使用多站点规则,而不必将相同的排序规则单独应用于每个站点。值得注意的是,全局排序规则只能使用全局动态属性。将排序规则或动态排序属性设置为对象的实例范围可用性中的全局结果(即排序规则配置)。实际的排序分数仍然是基于站点数据的特定站点分数。
可以在 Business Manager 中将规则环境从单个站点更改为全局(反之亦然),也可以使用“导入/导出”功能。
Manage_Global_Sorting_Rules 设置(位于 ) 并且设置为 true。分类排序规则
分配给 Storefront 目录根分类的排序规则用于分类排序。如果没有用另一个排序规则在子分类层覆盖,则排序规则继承可确保目录的所有子分类继承根目录的排序规则。
用于基于分类搜索结果的排序规则为导航目录的根分类而设置。如果要将特定产品在特定分类中按特定的顺序放置,您可以为排序规则选择分类位置排序标准属性。

