Documentation Index Fetch the complete documentation index at: https://javaai.pig4cloud.com/llms.txt
Use this file to discover all available pages before exploring further.
Spring AI 中的 Oracle 向量数据库集成了 Oracle 的向量功能,提供向量存储和搜索能力。
Oracle 向量数据库支持:
关系型向量存储
基于 SQL 的向量操作
企业级安全
高性能扩展
基本设置
< dependency >
< groupId > org.springframework.ai </ groupId >
< artifactId > spring-ai-oracle-vectordb </ artifactId >
< version > ${spring-ai.version} </ version >
</ dependency >
# Oracle 向量数据库配置
spring.ai.oracle.vectordb.enabled =true
spring.ai.oracle.vectordb.url =jdbc:oracle:thin:@localhost:1521:XE
spring.ai.oracle.vectordb.username =system
spring.ai.oracle.vectordb.password =oracle
spring.ai.oracle.vectordb.table-name =vectors
@ Service
public class OracleVectorService {
private final OracleVectorClient vectorClient ;
public OracleVectorService ( OracleVectorClient vectorClient ) {
this . vectorClient = vectorClient;
}
public void storeVector ( String id , float [] vector , Map < String , Object > metadata ) {
vectorClient . store (id, vector, metadata);
}
public List < SearchResult > searchSimilar ( float [] queryVector , int k ) {
return vectorClient . search (queryVector, k);
}
}
向量操作
1. 向量存储
@ Configuration
public class OracleVectorStorageConfig {
@ Bean
public VectorStorage oracleVectorStorage ( OracleVectorProperties properties ) {
return new OracleVectorStorage (properties);
}
}
2. 相似性搜索
@ Configuration
public class OracleSimilaritySearchConfig {
@ Bean
public SimilaritySearch oracleSimilaritySearch ( OracleVectorProperties properties ) {
return new OracleSimilaritySearch (properties);
}
}
3. 表管理
@ Service
public class TableService {
private final OracleVectorClient vectorClient ;
public void createTable ( String name , int dimension ) {
vectorClient . createTable (name, dimension);
}
public void dropTable ( String name ) {
vectorClient . dropTable (name);
}
}
高级特性
自定义表配置
@ Configuration
public class TableConfig {
@ Bean
public TableConfig tableConfig () {
return TableConfig . builder ()
. name ( "custom_vectors" )
. vectorColumn ( "vector" )
. metadataColumns ( Arrays . asList ( "title" , "content" ))
. build ();
}
}
索引管理
@ Configuration
public class IndexConfig {
@ Bean
public IndexConfig indexConfig () {
return IndexConfig . builder ()
. name ( "vector_idx" )
. type ( IndexType . VECTOR )
. dimension ( 1536 )
. build ();
}
}
安全配置
@ Configuration
public class SecurityConfig {
@ Bean
public SecurityConfig securityConfig () {
return SecurityConfig . builder ()
. encryptionEnabled ( true )
. auditEnabled ( true )
. build ();
}
}
management.endpoints.web.exposure.include =oracle-vectordb
management.endpoint.oracle-vectordb.enabled =true
最佳实践
使用 Oracle 向量数据库时,请考虑以下最佳实践:
表设计 :设计高效的表结构
索引管理 :优化索引配置
安全 :实施适当的安全措施
资源管理 :配置资源分配
监控 :设置全面的监控
故障排除
常见问题及解决方案:
连接问题
性能问题
存储问题
文档有误?请协助编辑 发现文档问题?点击此处直接在 GitHub 上编辑并提交 PR,帮助我们改进文档!