向量搜索
Elastic Stack Serverless
提示
正在寻找一种最简单的配置方法?semantic_text 字段类型提供了一个抽象层,封装了这些向量搜索实现,并提供了合理的默认值和自动模型管理。这是大多数用户的推荐方法。 了解更多关于 semantic_text 的信息。
向量嵌入是现代搜索中的一项核心技术,它使模型能够学习和表示输入数据中的复杂关系。当您的内容被向量化后,Elasticsearch 可以帮助用户根据含义和相似性查找内容,而不仅仅是基于关键字或精确词匹配。
向量搜索是大多数现代 语义搜索 实现的重要组成部分。它也可以独立用于各种相似性匹配用例。在 概述 页面中了解更多关于 AI 驱动搜索的用例。
本指南探讨了向量搜索方法的更手动技术实现,这些方法不使用更高级别的 semantic_text 工作流程。
您使用哪种方法取决于您的具体要求和用例。
以下是 Elasticsearch 中可用的向量搜索字段类型和查询的快速参考概述
| 向量类型 | 字段类型 | 查询类型 | 主要用例 |
|---|---|---|---|
| 稠密 | dense_vector |
knn |
使用您选择的嵌入模型进行语义相似性搜索 |
| 稀疏 | sparse_vector |
sparse_vector |
使用 ELSER 模型进行语义术语扩展 |
| 稀疏或稠密 | semantic_text |
semantic |
托管的语义搜索,不依赖于实现细节 |
稠密神经网络嵌入通过将内容转换为固定长度的浮点数向量来捕获语义含义。相似的内容在向量空间中映射到附近的点,使其成为理想的
- 查找语义上相似的内容
- 匹配问题和答案
- 图像相似性搜索
- 基于内容的推荐
稀疏向量方法使用 ELSER 模型来扩展内容,并添加语义相关的术语。这种方法在增加语义理解的同时保持了可解释性,使其非常适合
- 增强型关键字搜索
- 需要可解释结果的场景
- 特定领域搜索
- 大规模部署