新年快乐,大家!2021 年带来了 Meilisearch 的新版本。这真是太好了!
在这个版本中,我们修复了一些 bug,并增加了向 Meilisearch 添加文档时默认的有效负载大小。不过,最引人注目的还是新的分词器。我们的主要目标是提供最佳的搜索体验,而好的分词器对于获得高质量的搜索结果至关重要。我们对核心团队和贡献者感到非常自豪 - 他们努力工作,并取得了成果!让我们仔细看看它。
新的分词器
分词器就像 Meilisearch 的大脑:它理解语言的运作方式,并相应地调整文档在 Meilisearch 中的存储方式。如果没有分词器,我们就无法知道一个词从哪里开始到哪里结束。当进行搜索时,我们也无法理解用户在询问什么。
仔细看看
分词器的作用是根据语言的特性,找到并检索字符串中的所有单词。每种语言都需要一个独特的处理过程。例如,在拉丁语系语言中,所有单词通常由空格隔开,而在中文中,分词可能更加复杂。
Meilisearch 的新分词器会逐个字段地进行处理,确定该字段最可能的语言,并针对每种语言运行不同的管道。由于分词器是模块化的,因此添加新的语言比以前容易得多。
对于英语等使用拉丁字母的语言,新的分词器可能感觉不到不同,但它应该会极大地改善我们中文用户的体验。
Meilisearch 在中文中的演变
以前,分词器将一个汉字(汉字)视为一个词。新的分词器识别由一个或多个汉字组成的中文词语。它更准确地评估匹配查询词语之间的距离(参见:接近度规则),因此,它可以有效地提高搜索结果的相关性。
此外,单个搜索查询将返回繁体中文和简体中文的结果。
增加的最大有效负载大小
在以前版本的 Meilisearch 中,文档有效负载的默认限制为 10 兆字节。我们将此限制增加到100 兆字节。当然,你仍然可以更改此限制。
$ ./meilisearch --http-payload-size-limit=209715200
将限制更改为 200MB
错误修复
- Meilisearch 现在可以正确地将属性添加到 searchableAttributes 中,即使它们 首先添加到 attributesForFaceting 中
- 属性现在按 出现的顺序添加到 searchableAttributes 中,如预期那样。
- 当没有设置要显示的属性时,Meilisearch 返回一个空对象 {} 而不是错误
其他更改
我们对测试套件进行了一些修改,现在可以并行运行转储测试,并且大多数依赖项都已更新。
有关更改和提交的具体列表,请查看 发布说明。
贡献
我们很幸运拥有这个令人惊叹的支持社区。
我们要感谢 @piaoger 对新分词器的测试,感谢 @woshilapin 改善 CI,并感谢 @sanders41 增加了默认的有效负载大小。
我们还要感谢所有帮助维护工具包的贡献者,这些工具包使 Meilisearch 更易于使用。
你们的参与对我们意义重大!
我们一直渴望听到用户和贡献者的建议!请使用 您喜欢的任何方式 与我们交谈。
照片由 Nick Fewings 在 Unsplash 上拍摄