news 2026/3/25 11:58:16

88_Spring AI 干货笔记之 Elasticsearch 向量存储

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
88_Spring AI 干货笔记之 Elasticsearch 向量存储

一、Elasticsearch

本节将引导您设置 Elasticsearch VectorStore 来存储文档嵌入并执行相似性搜索。

Elasticsearch 是一个基于 Apache Lucene 库的开源搜索和分析引擎。

二、先决条件

一个正在运行的 Elasticsearch 实例。有以下可用选项:

  • Docker

  • 自管理的 Elasticsearch

  • Elastic Cloud

三、自动配置

Spring AI 自动配置、启动器模块的工件名称发生了重大变化。请参阅升级说明以获取更多信息。

Spring AI 为 Elasticsearch 向量存储提供了 Spring Boot 自动配置。要启用它,请将以下依赖项添加到项目的 Maven pom.xml 或 Gradle build.gradle 构建文件中:

Maven

<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-starter-vector-store-elasticsearch</artifactId></dependency>

Gradle

dependencies{implementation'org.springframework.ai:spring-ai-starter-vector-store-elasticsearch'}

对于 3.3.0 之前的 spring-boot 版本,需要显式添加版本 > 8.13.3 的 elasticsearch-java 依赖项,否则使用的旧版本将与执行的查询不兼容:

Maven

<dependency><groupId>co.elastic.clients</groupId><artifactId>elasticsearch-java</artifactId><version>8.13.3</version></dependency>

Gradle

dependencies{implementation'co.elastic.clients:elasticsearch-java:8.13.3'}

请参阅 依赖管理 部分,将 Spring AI BOM 添加到您的构建文件中。

请参阅 工件仓库 部分,将 Maven Central 和/或快照仓库添加到您的构建文件中。

向量存储实现可以为您初始化必要的模式,但您必须通过指定相应构造器中的 initializeSchema 布尔值,或在 application.properties 文件中设置 …​initialize-schema=true 来选择加入。或者,您可以选择不进行初始化,并使用 Elasticsearch 客户端手动创建索引,这在索引需要高级映射或额外配置时可能很有用。

这是一个破坏性变更!在早期版本的 Spring AI 中,此模式初始化是默认发生的。

请查看向量存储的配置参数列表,了解默认值和配置选项。这些属性也可以通过配置 ElasticsearchVectorStoreOptions bean 来设置。

此外,您需要一个配置好的 EmbeddingModel bean。有关更多信息,请参阅 EmbeddingModel 部分。

现在,您可以在应用程序中自动注入 ElasticsearchVectorStore 作为向量存储:

@AutowiredVectorStorevectorStore;
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/15 4:56:50

Fish Speech 1.5行业落地:法律文书语音速读功能,支持条款重点语调强调

Fish Speech 1.5行业落地&#xff1a;法律文书语音速读功能&#xff0c;支持条款重点语调强调 在律所、法务部门和合规团队的日常工作中&#xff0c;动辄上百页的合同、判决书、监管文件往往需要逐字审阅。人工通读耗时长、易疲劳、关键条款容易被忽略——尤其当“违约责任”藏…

作者头像 李华
网站建设 2026/3/24 1:09:41

LightOnOCR-2-1B效果展示:实测11种语言OCR识别效果

LightOnOCR-2-1B效果展示&#xff1a;实测11种语言OCR识别效果 1. 开场&#xff1a;一张图&#xff0c;11种语言&#xff0c;一次识别全搞定 你有没有遇到过这样的场景&#xff1a;手头有一张混合了中英文的发票&#xff0c;角落还印着法文条款&#xff1b;或者一份日德双语对…

作者头像 李华
网站建设 2026/3/16 2:51:52

音乐格式自由:突破QQ音乐加密限制的完整指南

音乐格式自由&#xff1a;突破QQ音乐加密限制的完整指南 【免费下载链接】qmcdump 一个简单的QQ音乐解码&#xff08;qmcflac/qmc0/qmc3 转 flac/mp3&#xff09;&#xff0c;仅为个人学习参考用。 项目地址: https://gitcode.com/gh_mirrors/qm/qmcdump 当你下载了喜爱…

作者头像 李华
网站建设 2026/3/16 11:56:54

GTE-Pro快速上手:curl命令调用API完成文本嵌入与相似度计算

GTE-Pro快速上手&#xff1a;curl命令调用API完成文本嵌入与相似度计算 1. 什么是GTE-Pro&#xff1a;企业级语义智能引擎 GTE-Pro不是另一个“能跑起来的模型”&#xff0c;而是一套真正能落地的企业级语义理解基础设施。它基于阿里达摩院开源的GTE-Large&#xff08;Genera…

作者头像 李华
网站建设 2026/3/16 5:01:42

PetaLinux资源监控工具在自动化中的应用实例

PetaLinux监控工具&#xff1a;让Zynq和UltraScale系统“自己说话”你有没有遇到过这样的现场——一台部署在工厂产线边缘的Zynq UltraScale视觉网关&#xff0c;突然图像帧率暴跌、DMA超时频发&#xff0c;但串口日志里只有零星几行axi_dma: Descriptor error&#xff0c;JTAG…

作者头像 李华
网站建设 2026/3/15 8:03:17

UI-TARS-desktop与VSCode插件开发实战

UI-TARS-desktop与VSCode插件开发实战 1. 为什么VSCode开发者需要UI-TARS-desktop 你有没有过这样的经历&#xff1a;在写代码时&#xff0c;突然想查一个API文档&#xff0c;得切到浏览器&#xff1b;发现某个配置项不对&#xff0c;又得打开设置界面反复点选&#xff1b;调…

作者头像 李华