news 2026/4/18 1:57:41

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/26 10:58:44

微信消息智能同步:让多群协作告别手动转发时代

微信消息智能同步&#xff1a;让多群协作告别手动转发时代 【免费下载链接】wechat-forwarding 在微信群之间转发消息 项目地址: https://gitcode.com/gh_mirrors/we/wechat-forwarding 你是否还在为这些协作难题头疼&#xff1f; 想象一下这样的场景&#xff1a;技术群…

作者头像 李华
网站建设 2026/4/10 11:54:21

MQTT保活机制优化:嵌入式状态机设计与工程实践

1. MQTT Keep-Alive机制的本质与工程挑战 MQTT协议中&#xff0c;Keep-Alive&#xff08;保活&#xff09;机制并非一个可有可无的“心跳”装饰&#xff0c;而是连接可靠性的底层契约。其核心设计目标是&#xff1a;在TCP连接看似正常但应用层数据流已停滞时&#xff0c;主动探…

作者头像 李华
网站建设 2026/4/12 4:00:33

FLUX.1-dev实战:如何用普通显卡生成8K级壁纸

FLUX.1-dev实战&#xff1a;如何用普通显卡生成8K级壁纸 在RTX 4090成为“标配”的宣传语泛滥的今天&#xff0c;一个被反复忽略的事实是&#xff1a;真正支撑日常创作的&#xff0c;从来不是实验室里的峰值参数&#xff0c;而是你桌面上那张RTX 3060、4070&#xff0c;甚至是一…

作者头像 李华
网站建设 2026/3/25 7:09:33

Realtek HD Audio Driver前端接口配置详解

Realtek HD Audio前端接口&#xff1a;从无声到精准发声的底层逻辑 你有没有遇到过这样的情况——新装的主板&#xff0c;驱动也更新到了最新版&#xff0c;设备管理器里清清楚楚写着“Realtek High Definition Audio”&#xff0c;可插上耳机却一点声音都没有&#xff1f;或者…

作者头像 李华
网站建设 2026/4/16 19:55:17

AI显微镜Swin2SR实测:马赛克图片400%放大效果惊艳展示

AI显微镜Swin2SR实测&#xff1a;马赛克图片400%放大效果惊艳展示 你有没有遇到过这样的窘境&#xff1a;好不容易找到一张关键参考图&#xff0c;结果点开一看——满屏马赛克&#xff1f;或者AI生成的草稿图细节模糊、边缘发虚&#xff0c;打印出来全是锯齿&#xff1f;又或者…

作者头像 李华