Meilisearch 中有两种类型的排序规则:内置排序规则和自定义排序规则。本文描述了使用和配置自定义排序规则的主要方面。 自定义排序规则提升某些文档的优先级,使其在其他同样相关的搜索结果中脱颖而出。

升序和降序排序规则

Meilisearch 支持两种类型的自定义规则:一种用于升序,一种用于降序。 要添加自定义排序规则,您必须指定属性名称,后跟冒号 (:),然后是 asc(表示升序)或 desc(表示降序)。
  • 要应用升序排序(结果按属性值的递增顺序排序):attribute_name:asc
  • 要应用降序排序(结果按属性值的递减顺序排序):attribute_name:desc
该属性在索引中包含的所有文档中必须具有数字或字符串值。 您可以使用更新设置端点更新排序规则端点将此规则添加到现有排序规则列表中。

示例

假设您有一个电影数据集。文档包含字段 release_date,其值为时间戳,以及 movie_ranking,一个表示其排名的整数。 以下示例创建了一个规则,使老电影比新电影更相关。1999 年上映的电影将出现在 2020 年上映的电影之前。
release_date:asc
以下示例将创建一个规则,使排名靠前的电影比排名较低的电影更相关。排名较高的电影将首先出现。
movie_ranking:desc
以下数组包含所有内置排序规则,并将自定义规则置于处理顺序的底部
[
  "words",
  "typo",
  "proximity",
  "attribute",
  "sort",
  "exactness",
  "release_date:asc",
  "movie_ranking:desc"
]

搜索时的排序和自定义排序规则

Meilisearch 允许用户通过使用 sort 搜索参数查询时定义排序顺序。排序和自定义排序规则之间存在一些重叠,但两者确实有不同的用途。 通常,当您希望允许用户定义他们希望首先看到哪种类型的结果时,sort 将最有用。sort 的一个很好的用例是创建一个网上商店界面,客户可以在其中按产品价格降序或升序对产品进行排序。 相反,自定义排序规则一旦配置就始终处于活动状态,当您希望提升某些类型的结果时会很有用。自定义排序规则的一个很好的用例是确保网上商店中的打折产品始终位居结果前列。
Meilisearch 不提供原生支持来提升、置顶和增强特定文档,使其比其他搜索结果更突出显示。有关使用 React InstantSearch 实现推广搜索结果文档增强的解决方法,请参阅这些 Meilisearch 博客文章。
© . This site is unofficial and not affiliated with Meilisearch.