在 v0.21 需要的核心引擎完全重写之后,我们终于回到了每月发布的正轨。你可以 阅读完整的更改日志,但让我们来看看新版本的几个主要变化。
新功能:搜索时排序
虽然 Meilisearch 已经允许开发者通过创建自定义排名规则来影响排序过程,但这是在索引配置期间完成的,并应用于该索引中的所有搜索。允许用户更改排序顺序和参数,也称为搜索时排序,是一项繁琐的任务,需要大量变通方法,例如创建具有略微不同排名规则的多个索引。
随着 sortableAttributes
索引设置、sort
搜索参数 和 "sort"
排名规则 的引入,用户现在可以在搜索时按文档字段值升序或降序排序结果。
要在搜索时排序,您必须首先更新 sortableAttributes
索引设置。我们目前支持包含字符串和数字的属性
$ curl \
-X POST 'http://localhost:7700/indexes/books/settings/sortable-attributes' \
--data '[
"price",
"author"
]'
配置完 sortableAttributes
后,可以使用 sort
搜索参数在搜索时对结果进行排序。sort
需要以 attribute:sorting_order
格式给出属性列表
$ curl \
-X POST 'http://localhost:7700/indexes/books/search' \
--data '{
"q": "science fiction",
"sort": [
"price:asc"
]
}'
重大更改:自定义排名规则
我们已将自定义排名规则和 sort
的语法对齐。
# current syntax
"price:asc"
# old syntax
"asc(price)"
自定义排名规则仍然是让特定类型的文档在每次搜索中都处于首位的最佳方法,例如,当您希望确保折扣产品始终出现在网店的搜索结果顶部时。
新的索引器
我们在 v0.22 上的第二个主要更改实际上应该相当隐蔽。我们已经重构了索引器,解决了长期以来由于内存过度使用而导致崩溃的许多问题。
向新索引器的过渡应该是完全无缝的,不需要您进行任何更改。 除非存在隐藏的错误,否则您唯一应该注意的是索引速度更快,崩溃变得更加罕见。如果您想了解有关索引和性能的更多信息,我们在文档中添加了 一篇新文章。
如果您在索引期间仍然遇到问题,请告诉我们(并 查看常见问题解答以获取我们推荐的一些修复方法)!
其他更改
- 我们不再使用 Sentry 收集实例的使用数据
- 自定义排名规则现在适用于字符串和数字
- 在 https://install.meilisearch.com 提供的默认安装脚本现在可以使用 Cygwin 或等效环境在 Windows 机器上运行
贡献者
如果没有来自社区的支持,我们就无法走到今天。你们真的非常棒,我们无法对你们为 Meilisearch 付出的所有努力、建议、评论和时间表示足够的感谢。本月,我们要特别感谢 @sanders41、@bb 和 @shekirin。
这就是 v0.22 的全部内容!请记住查看 完整发布的更改日志,我们下个月再见!