Meilisearch v1.14 发布啦 ✨ 在我们的博客上阅读更多

返回首页Meilisearch 的标志
返回文章
2024 年 7 月 2 日

Meilisearch 1.9

Meilisearch 1.9 带来了相似文档、排名分数阈值、按属性分组以及改进的 AI 搜索。

Laurent Cazanove
Laurent Cazanove开发者体验工程师StriftCodes
Meilisearch 1.9

我们很高兴推出 Meilisearch v1.9。在本文中,我们将回顾最具影响力的更改。有关详尽的列表,请查看 GitHub 上的更新日志

Meilisearch 1.9 也已在 Meilisearch Cloud 上提供——立即升级!

新增功能:排名分数阈值

Meilisearch 1.9 允许排除排名分数较低的搜索结果。当使用新的 rankingScoreThreshold 选项时,Meilisearch 将不会返回任何低于定义阈值的文档。

curl 
 -X POST 'http://localhost:7700/indexes/movies/search' 
 -H 'Content-Type: application/json' 
 --data-binary '{
    "q": "green ogre living in a swamp",
    "hybrid": { 
	    "semanticRatio": 0.9, 
	    "embedder": "default" 
	},
    "showRankingScore": true,
    "limit": 5,
    "rankingScoreThreshold": 0.2
 }'

在实施 混合搜索 时使用排名分数阈值可以删除不相关的结果,并允许您的 搜索分析 正确收集无搜索结果指标。

排除的结果不计入 estimatedTotalHitstotalHits 或 facet 分布。

新增功能:搜索时不同的属性(按...分组)

Meilisearch 1.9 增加了在搜索时定义不同属性的功能。当使用新的 distinct 搜索参数时,Meilisearch 将仅返回具有指定属性值的一个文档。

此功能通常用于电子商务应用程序。考虑一个 products 索引,其中包含同一产品的多个变体,例如共享相同 product_idBlue iPhone 15Red iPhone 15 文档。以下 API 调用将返回单个 iPhone 15

curl 
 -X POST 'http://localhost:7700/indexes/products/search' 
 -H 'Content-Type: application/json' 
 --data-binary '{
    "q": "iphone",
    "distinct": "product_id"
 }'

当提供 distinct 时,Meilisearch 会忽略索引的 不同属性

新增功能:frequency 匹配策略

Meilisearch 1.9 引入了一种新的匹配策略,以优先考虑包含最不常用查询词的结果。当使用 frequency 匹配策略时,Meilisearch 将降低非常常用词的优先级。

让我们以 "the little prince" 查询为例。在我们的索引文档中,单词 "the""little" 可能出现了很多次。因此,匹配策略将优先考虑包含 "prince" 的文档。

实验性功能:新的相似文档 API

Meilisearch 1.9 引入了一项新的 AI 驱动的搜索 功能,该功能允许搜索与现有文档相似的文档。

以下 API 调用搜索与电影索引中 主键23 的文档相似的文档

curl 
  -X POST /indexes/movies/similar
  -H 'Content-Type: application/json' 
  --data-binary '{
    "id": "23",
    "embedder": "default",
  }'

查看 相似文档 API 以获取有关其他参数的更多信息。

实验性功能:避免重新生成嵌入向量

当导入使用 Meilisearch 1.9 或更高版本创建的 dump 时,Meilisearch 将不会重新生成嵌入向量。这将避免在升级 Meilisearch 数据库时进行不必要的计算。

新增功能:regenerate 参数

此外,Meilisearch 1.9 引入了一个新的 API,以便更精细地控制 文档嵌入向量生成。具体来说,它可以在每次更新文档时启用嵌入向量生成。

文档 _vectors 对象现在除了接受数组外,还接受对象。提供的对象接受一个 regenerate 布尔值和一个可选的 embeddings 数组。

考虑以下包含用户提供的嵌入向量的示例文档

{
	"id": 42,
	"_vectors": {
		// Embeddings for the `default` embedder
		// Equivalent to `regenerate: true`
		"default": [0.1, 0.2 ],
		// Embeddings for the `text` embedder
		"text": {
			"embeddings": [[0.1, 0.2, 0.3], [0.4, 0.5, 0.6]],
			// Never regenerate embeddings
			"regenerate": false
		},
		"translation": {
			"embeddings": [0.1, 0.2, 0.3, 0.4],
			// Regenerate embeddings when document is updated
			"regenerate": true
		}
	}
}

虽然一般来说,您可能希望在每次更新文档时重新生成嵌入向量,但这有助于从用户提供的嵌入向量迁移到让 Meilisearch 处理嵌入向量,而不会产生不必要的成本。

实验性功能:混合搜索的重大更改

随着我们朝着 稳定 AI 驱动的搜索功能 迈进,我们引入了一些小的重大更改,以使 API 更不容易出错。

重大更改:空的 embeddings 数组

根据用户的反馈,之前的行为出乎意料且无济于事,现在提供一个空的 embeddings 数组将告诉 Meilisearch 该文档没有嵌入向量。

在 Meilisearch 1.9 之前,空的 embeddings 数组被解释为维度为 0 的单个嵌入向量。

重大更改:删除了搜索结果中的 _vectors

从 Meilisearch 1.9 开始,对 向量搜索和混合搜索 请求的 API 响应将不再包含响应中的 _vectors

但是,如果您希望 API 响应包含它们,您现在可以使用新的 retrieveVectors 搜索参数

curl 
  -X POST 'http://localhost:7700/indexes/movies/search' 
  -H 'Content-Type: application/json' 
  --data-binary '{
    "q": "star wars",
    "retrieveVectors": true
  }'

重大更改:优化用户提供的 embeddings

从 Meilisearch 1.9 开始,向量嵌入向量将不再按原样存储。数字将在规范化表示中强制转换为浮点数,以节省存储空间并优化性能。简而言之,向量 [3] 可能会存储为 [3.0]

致谢贡献者

感谢所有参与此版本的社区成员。特别感谢 @gh2k@writegr@yudrywetMeilisearch 的贡献,以及 @mosuka@Soham1803@tkhshtsh0917Charabia 的贡献。

当然,还要非常感谢我们的 SDK 维护者,感谢他们让 Meilisearch 可以在多种语言中使用。特别感谢 @the-sinner@norkunas。🫶


v1.9 的内容就到这里!此版本发布帖子重点介绍了最重要的更新。有关详尽的列表,请阅读 Github 上的更新日志

订阅我们的每月新闻通讯,随时了解 Meilisearch 的一切动态。要了解有关 Meilisearch 未来并帮助塑造未来的更多信息,请查看我们的路线图并参与我们的产品讨论

如有任何其他问题,请加入我们在 Discord 上的开发者社区。

Meilisearch 1.14

Meilisearch 1.14

Meilisearch 1.14 引入了新的实验性功能,包括复合嵌入器和嵌入缓存,以提高性能。它还添加了核心功能,例如细粒度的可筛选属性和按 ID 批量检索文档。

Carolina Ferreira
Carolina Ferreira2025 年 4 月 14 日
Meilisearch AI launch week recap

Meilisearch AI 发布周回顾

Meilisearch AI 发布回顾:通过 AI 和个性化改造搜索

Maya Shin
Maya Shin2025 年 3 月 28 日
Introducing Meilisearch's next-generation indexer: 4x faster updates, 30% less storage

Meilisearch 下一代索引器介绍:更新速度提高 4 倍,存储空间减少 30%

2024 年索引器版本通过并行处理、优化的 RAM 使用率和增强的可观察性彻底改变了搜索性能。了解我们最新版本中的新功能。

Louis Dureuil
Louis Dureuil2025 年 2 月 26 日