VectoRex 技术文档:纯Java高性能向量数据库使用指南
VectoRex 技术文档:纯Java高性能向量数据库使用指南【免费下载链接】VectoRexVectoRex 是一个 纯 Java 实现 的高性能、可扩展的向量数据库,专为现代 AI 和大数据应用设计。它结合了高效的向量索引(HNSW)和强大的标量索引(倒排索引、范围索引),支持复杂的混合查询(向量 + 标量),适...
·
VectoRex 技术文档:纯Java高性能向量数据库使用指南
1. 安装指南
1.1 环境要求
- Java 8及以上版本
- Maven 3.6+(Java项目)
- Docker(如需容器化部署)
1.2 安装方式
1.2.1 Spring Boot项目集成
在pom.xml中添加依赖:
<dependency>
<groupId>io.github.javpower</groupId>
<artifactId>vectorex-starter</artifactId>
<version>1.5.3</version>
</dependency>
1.2.2 Solon项目集成
在pom.xml中添加依赖:
<dependency>
<groupId>io.github.javpower</groupId>
<artifactId>vectorex-solon-plugin</artifactId>
<version>1.5.3</version>
</dependency>
1.2.3 独立服务部署
使用Docker快速部署:
docker run -d -p 8080:8382 --name vectorrex-server javpower/vectorex-server:v1.0.0
1.2.4 Java客户端SDK
<dependency>
<groupId>io.github.javpower</groupId>
<artifactId>vectorrex-client</artifactId>
<version>1.5.3</version>
</dependency>
1.2.5 Go客户端SDK
go get gitee.com/javpower/VectoRex/vectorex-client-go
2. 项目使用说明
2.1 核心概念
- 集合(Collection):存储向量数据的基本单元
- 向量(Vector):高维数值数组,代表特征数据
- 标量(Scalar):传统结构化数据字段
- 混合查询:同时支持向量相似度搜索和标量过滤
2.2 基本操作流程
- 创建集合(定义向量维度和索引类型)
- 插入数据(向量+标量)
- 构建索引
- 执行查询
- 获取结果
2.3 示例代码(Java)
// 初始化客户端
VectoRexClient client = new VectoRexClient("http://localhost:8080");
// 创建集合
CollectionSchema schema = new CollectionSchema()
.setName("products")
.setDimension(128)
.addScalarField("category", DataType.STRING)
.addScalarField("price", DataType.FLOAT);
client.createCollection(schema);
// 插入数据
List<Float> vector = Arrays.asList(0.1f, 0.2f, ..., 0.128f);
Map<String, Object> fields = new HashMap<>();
fields.put("category", "electronics");
fields.put("price", 299.99f);
client.insert("products", vector, fields);
// 执行查询
Query query = new Query()
.setTopK(10)
.setVector(queryVector)
.addFilter("category", "==", "electronics");
List<SearchResult> results = client.search("products", query);
3. 项目API使用文档
3.1 集合管理API
createCollection(CollectionSchema schema):创建新集合dropCollection(String name):删除集合listCollections():获取所有集合列表collectionInfo(String name):获取集合详情
3.2 数据操作API
insert(String collection, List<Float> vector, Map<String, Object> fields):插入单条数据batchInsert(String collection, List<VectorRecord> records):批量插入数据delete(String collection, String id):删除指定ID的数据update(String collection, String id, Map<String, Object> fields):更新标量字段
3.3 查询API
search(String collection, Query query):执行向量相似度搜索getById(String collection, String id):根据ID获取数据scrollQuery(String collection, int limit):滚动查询数据
3.4 索引管理API
createIndex(String collection, IndexParams params):创建索引dropIndex(String collection):删除索引indexStatus(String collection):获取索引状态
4. 项目安装方式详解
4.1 本地开发模式
- 克隆项目仓库:
git clone https://gitee.com/javpower/vectorex.git - 构建项目:
mvn clean install - 运行测试用例验证安装
4.2 生产环境部署
4.2.1 单机模式
java -jar vectorex-server-1.5.3.jar
4.2.2 集群模式
- 修改配置文件
application-cluster.yml - 启动多个实例:
java -jar vectorex-server-1.5.3.jar --spring.profiles.active=cluster
4.2.3 Kubernetes部署
apiVersion: apps/v1
kind: Deployment
metadata:
name: vectorex
spec:
replicas: 3
selector:
matchLabels:
app: vectorex
template:
metadata:
labels:
app: vectorex
spec:
containers:
- name: vectorex
image: javpower/vectorex-server:v1.0.0
ports:
- containerPort: 8382
4.3 客户端配置
@Configuration
public class VectoRexConfig {
@Bean
public VectoRexClient vectoRexClient() {
return new VectoRexClient("http://vectorex-service:8382");
}
}
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)