默认情况下,Meilisearch 根据相关性对结果进行排序。您可以更改此行为,以便用户在搜索时决定他们想要首先看到的结果。
sortableAttributes 索引设置á 将排在值为 122 的 z 之后。大写字母会像小写字母一样排序。它们在搜索结果中仍会显示为大写。sortableAttributessortableAttributes 索引设置。author 和 price 排序
"sort" 排在第五位。这意味着它充当一个决胜规则:Meilisearch 将首先将与搜索词紧密匹配的结果放在返回文档列表的顶部,然后才会应用用户请求的 "sort" 参数。换句话说,默认情况下 Meilisearch 提供一个非常相关的排序。 将 "sort" 排名规则放在列表的更靠前位置将强调详尽排序而不是相关排序:您的结果将更严格地遵循用户选择的排序顺序,但相关性不会那么高。sort 在排名规则中放置得更靠前
sortableAttributes 后,您可以使用sort 搜索参数来控制搜索结果的排序顺序。 sort 期望一个已添加到 sortableAttributes 列表的属性列表。 属性必须以 attribute:sorting_order 的形式给出。换句话说,每个属性后面必须跟一个冒号 (:) 和一个排序顺序:升序 (asc) 或降序 (desc)。 使用 POST 路由时,sort 期望一个字符串数组:GET 路由时,sort 期望一个逗号分隔的字符串
sort 值的顺序很重要:属性在搜索参数值中的位置越高,Meilisearch 就越会优先于位置较低的属性。在我们的示例中,如果多个文档的 price 值相同,Meilisearch 将根据它们的 author 决定这些价格相似的文档之间的顺序。
"science fiction"书籍
sort 可以帮助将同一作者的结果分组。此查询将只返回与查询词 "butler" 匹配的书籍,并根据其作者对结果进行分组