20250411 创建milvus连接配置类、创建milvus相似性索引
This commit is contained in:
parent
eb9c01e74e
commit
c6e0cab442
20
src/main/java/com/ai/config/MilvusConfig.java
Normal file
20
src/main/java/com/ai/config/MilvusConfig.java
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
package com.ai.config;
|
||||||
|
|
||||||
|
import io.milvus.client.MilvusClient;
|
||||||
|
import io.milvus.client.MilvusServiceClient;
|
||||||
|
import io.milvus.param.ConnectParam;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class MilvusConfig {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public MilvusClient milvusClient() {
|
||||||
|
ConnectParam connectParam = ConnectParam.newBuilder()
|
||||||
|
.withHost("localhost")
|
||||||
|
.withPort(19530)
|
||||||
|
.build();
|
||||||
|
return new MilvusServiceClient(connectParam);
|
||||||
|
}
|
||||||
|
}
|
20
src/main/java/com/ai/controller/MilvusController.java
Normal file
20
src/main/java/com/ai/controller/MilvusController.java
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
package com.ai.controller;
|
||||||
|
|
||||||
|
import com.ai.service.SimilarService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/milvus")
|
||||||
|
public class MilvusController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private SimilarService similarService;
|
||||||
|
|
||||||
|
@RequestMapping("/create")
|
||||||
|
public String create() {
|
||||||
|
similarService.createCollection();
|
||||||
|
return "milvus collection create";
|
||||||
|
}
|
||||||
|
}
|
15
src/main/java/com/ai/model/Product.java
Normal file
15
src/main/java/com/ai/model/Product.java
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
package com.ai.model;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class Product {
|
||||||
|
|
||||||
|
private Long spuId;
|
||||||
|
|
||||||
|
private String spuName;
|
||||||
|
|
||||||
|
private String description;
|
||||||
|
|
||||||
|
private String type;
|
||||||
|
}
|
38
src/main/java/com/ai/service/SimilarService.java
Normal file
38
src/main/java/com/ai/service/SimilarService.java
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
package com.ai.service;
|
||||||
|
|
||||||
|
import io.milvus.client.MilvusClient;
|
||||||
|
import io.milvus.grpc.DataType;
|
||||||
|
import io.milvus.param.collection.CreateCollectionParam;
|
||||||
|
import io.milvus.param.collection.FieldType;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class SimilarService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private MilvusClient milvusClient;
|
||||||
|
|
||||||
|
public void createCollection(){
|
||||||
|
//定义字段
|
||||||
|
FieldType spuId = FieldType.newBuilder()
|
||||||
|
.withName("spu_id")
|
||||||
|
.withDataType(DataType.Int64)
|
||||||
|
.withPrimaryKey(true)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
FieldType vectorField = FieldType.newBuilder()
|
||||||
|
.withName("type_vector")
|
||||||
|
.withDataType(DataType.FloatVector)
|
||||||
|
.withDimension(1536)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
CreateCollectionParam createParam = CreateCollectionParam.newBuilder()
|
||||||
|
.withCollectionName("similar_collection")
|
||||||
|
.addFieldType(spuId)
|
||||||
|
.addFieldType(vectorField)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
milvusClient.createCollection(createParam);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user