news 2026/5/28 8:13:45

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/5/28 8:13:40

yz-bijini-cosplay高清图展示:BF16精度下发丝/布料/金属反光表现力

yz-bijini-cosplay高清图展示&#xff1a;BF16精度下发丝/布料/金属反光表现力 1. 为什么这张图让人一眼停住&#xff1f; 你有没有试过盯着一张Cosplay图&#xff0c;反复放大——不是看脸&#xff0c;而是看发梢在光线下怎么弯&#xff1f;看裙摆褶皱里那道若隐若现的高光&…

作者头像 李华
网站建设 2026/5/23 18:56:15

本地化部署BGE-Large-Zh:保护隐私的中文语义处理方案

本地化部署BGE-Large-Zh&#xff1a;保护隐私的中文语义处理方案 1. 为什么你需要一个“不联网”的语义工具 1.1 中文语义处理的真实痛点 你有没有遇到过这些情况&#xff1a; 给客户做智能问答系统&#xff0c;但敏感业务文档不敢上传到公有云API&#xff1b;做内部知识库…

作者头像 李华
网站建设 2026/5/14 19:46:21

5分钟体验MAI-UI-8B:智能GUI开发实战教程

5分钟体验MAI-UI-8B&#xff1a;智能GUI开发实战教程 1. 什么是MAI-UI-8B&#xff1f;它能帮你做什么 你有没有过这样的经历&#xff1a;想快速做一个界面原型&#xff0c;却卡在写HTML、调CSS、配交互的繁琐步骤里&#xff1b;或者需要把一段业务逻辑快速包装成可操作的图形…

作者头像 李华
网站建设 2026/5/21 8:27:55

STM32通过阿里云IoT实现上位机指令控制

1. 上位机控制单片机的工程实现原理与实践路径 在嵌入式物联网系统中&#xff0c;“上位机控制单片机”并非一个抽象概念&#xff0c;而是由明确数据流向、协议解析逻辑和状态驱动执行构成的闭环工程任务。它本质上是将远程指令转化为本地物理动作的过程&#xff1a;上位机&…

作者头像 李华
网站建设 2026/5/23 6:28:51

突破炉石传说效率瓶颈:HsMod插件如何让你的游戏体验全面升级

突破炉石传说效率瓶颈&#xff1a;HsMod插件如何让你的游戏体验全面升级 【免费下载链接】HsMod Hearthstone Modify Based on BepInEx 项目地址: https://gitcode.com/GitHub_Trending/hs/HsMod 当你在炉石传说中第10次等待相同的开场动画&#xff0c;当你因重复分解卡…

作者头像 李华