语义搜索
Elastic Stack Serverless
本页重点介绍 Elasticsearch 中可用的语义搜索工作流程。有关较低级别的向量搜索实现的详细信息,请参阅向量搜索。
Elasticsearch 使用自然语言处理 (NLP) 和向量搜索提供各种语义搜索功能。
在概述页面中了解有关 AI 驱动的搜索的更多用例。
您有多种选项可以使用 NLP 模型在 Elastic Stack 中进行语义搜索
此图总结了每个工作流程的相对复杂性
在 Elastic Stack 中使用 NLP 模型的最简单方法是通过semantic_text
工作流程。我们建议使用这种方法,因为它抽象掉了许多手动工作。您所需要做的就是创建一个推理端点和一个索引映射来开始摄取、嵌入和查询数据。无需定义与模型相关的设置和参数,也无需创建推理摄取管道。有关支持的服务的更多信息,请参阅与第三方服务集成和推理 API文档。
有关端到端教程,请参阅使用 semantic_text
进行语义搜索。
推理 API 工作流程更复杂,但可以更好地控制推理端点配置。您需要创建一个推理端点,提供各种与模型相关的设置和参数,定义索引映射,并使用适当的设置设置推理摄取管道。
有关端到端教程,请参阅使用推理 API 进行语义搜索。
您也可以在 Elasticsearch 中手动部署 NLP,而无需使用推理端点。这是在 Elastic Stack 中执行语义搜索的最复杂和劳动密集型的工作流程。您需要从支持的密集和稀疏向量模型列表中选择一个 NLP 模型,使用 Eland 客户端部署它,创建一个索引映射,并设置一个合适的摄取管道以开始摄取和查询数据。
有关端到端教程,请参阅使用在 Elasticsearch 中部署的模型进行语义搜索。
有关快速参考概述,请参阅向量查询和字段类型。
elasticsearch-labs
存储库包含许多交互式语义搜索示例,以可执行 Python 笔记本的形式,使用 Elasticsearch Python 客户端- 使用模型部署工作流程通过 ELSER 进行语义搜索
- 使用
semantic_text
进行语义搜索