搜索应用场景
本节记录了 Elasticsearch 的核心搜索功能。这些功能适用于所有 Elastic 部署、解决方案和项目类型。
您可以通过本节了解面向搜索应用的搜索技术、查询方法、排序策略和数据摄取。
正在使用 Elasticsearch 解决方案或无服务器项目类型?Elasticsearch 解决方案文档介绍了这些选项包含的其他 UI 工具。
将 Elasticsearch 搜索功能用于以下用例:
- 网站和文档搜索
- 电商产品目录
- 内容推荐系统
- RAG(检索增强生成)系统
- 地理空间搜索应用
- 问答系统
- 分析仪表板和数据探索
- 自定义可观测性或网络安全搜索工具
- 还有更多!
本节涵盖以下主题
| 主题 (Topic) | 描述 |
|---|---|
| 快速入门 | 创建部署、连接到 Elasticsearch 并运行您的首次搜索 |
| 摄取数据 | 了解将数据导入 Elasticsearch 以用于搜索用例的各种选项 |
| 搜索方法 | 比较 Elasticsearch 中可用的搜索技术,包括全文搜索、向量搜索、语义搜索和混合搜索 |
| 构建您的查询 | 使用特定的查询语言实现您的搜索方法 |
| 排序与重排序 | 控制结果排序和相关性 |
| RAG (检索增强生成) | 了解 Elasticsearch 检索增强生成工具 |
| 构建应用程序 | 将 Elasticsearch 集成到您的网站或应用程序中 |
有关索引、文档和映射等 Elasticsearch 核心概念的介绍,请参阅 Elasticsearch 数据存储。
若要深入了解 Elasticsearch 集群的构建块(包括节点、分片、主分片和副本),请参阅 分布式架构。
Elasticsearch 通过存储向量嵌入并检索与查询向量最相似的结果来充当向量数据库。向量嵌入是由机器学习模型创建的数据(如文本、图像或音频)的数字表示形式。由于相似项在向量空间中的位置更接近,Elasticsearch 可以使用这些嵌入来执行语义相似度搜索,并根据含义(而不是精确的关键字匹配)返回结果。
此功能是 Elasticsearch 中向量搜索及相关用例的基础。它使您能够在已用于全文搜索、结构化筛选器和聚合的相同数据和基础设施上进行语义检索。Elasticsearch 通过将嵌入存储在向量字段类型(例如 dense_vector 和 sparse_vector)中(与其他已索引数据并存)来支持此功能。
要将 Elasticsearch 用作向量数据库,您可以使用 semantic_text 字段类型。当您将内容索引到 semantic_text 字段时,Elasticsearch 会使用配置的机器学习模型自动生成向量嵌入,并将它们存储在底层向量字段中。这些嵌入会被索引以实现高效的 k 最近邻 (kNN) 搜索,从而在查询时实现基于相似度的快速检索。
若要大致了解 Elasticsearch 中的向量搜索概念和功能,请参阅向量搜索。有关用例概述及其实施指南,请参阅向量搜索用例。