属性排名顺序

    在大多数数据集中,某些字段比其他字段与搜索更相关。例如,对于电影搜索,title 可能比 overviewrelease_date 更有意义。

    searchableAttributes 使用其默认值 [*] 时,所有字段的权重相同。

    如果您手动配置可搜索属性列表,则在计算搜索结果相关性时,数组中较早出现的属性更重要。

    示例

    [
      "title",
      "overview",
      "release_date"
    ]
    

    按照上述属性排名顺序,在 title 字段中找到的匹配词对相关性的影响将高于在 overviewrelease_date 中找到的相同词。 例如,如果您搜索“1984”,则像迈克尔·雷德福的电影《1984》这样的结果的排名会高于 1984 年上映的电影。

    属性排名顺序和嵌套对象

    默认情况下,嵌套字段与其父属性共享相同的权重。使用点表示法为嵌套对象中的属性设置不同的权重

    [
      "title", 
      "review.critic", 
      "overview", 
      "review.user"
    ]
    

    按照上述排名顺序,在计算文档的排名得分时,review.critic 比其同级 review.user 更重要。

    注意

    attribute 规则在 rankingRules 中的位置决定了结果的排序方式。 也就是说,如果 attribute 位于排名规则列表的底部,它几乎不会对您的搜索结果产生任何影响。