From 8cea206cc77578a90fe29c0c5657a074810edffb Mon Sep 17 00:00:00 2001 From: luogw <3132758203@qq.com> Date: Wed, 22 Apr 2026 16:38:03 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../project/milvus/config/MilvusConfig.java | 12 +- .../service/impl/MilvusDemoServiceImpl.java | 145 +++++++++--------- 2 files changed, 80 insertions(+), 77 deletions(-) diff --git a/src/main/java/com/project/milvus/config/MilvusConfig.java b/src/main/java/com/project/milvus/config/MilvusConfig.java index 4d17910..165f721 100644 --- a/src/main/java/com/project/milvus/config/MilvusConfig.java +++ b/src/main/java/com/project/milvus/config/MilvusConfig.java @@ -14,10 +14,10 @@ public class MilvusConfig { @Value("${milvus.port}") private String port; - @Bean - public MilvusClientV2 milvusClient(){ - String uri = "http://"+host+":"+port; - ConnectConfig connectConfig = ConnectConfig.builder().uri(uri).build(); - return new MilvusClientV2(connectConfig); - } +// @Bean +// public MilvusClientV2 milvusClient(){ +// String uri = "http://"+host+":"+port; +// ConnectConfig connectConfig = ConnectConfig.builder().uri(uri).build(); +// return new MilvusClientV2(connectConfig); +// } } diff --git a/src/main/java/com/project/milvus/domain/service/impl/MilvusDemoServiceImpl.java b/src/main/java/com/project/milvus/domain/service/impl/MilvusDemoServiceImpl.java index 698c6ec..ffba21d 100644 --- a/src/main/java/com/project/milvus/domain/service/impl/MilvusDemoServiceImpl.java +++ b/src/main/java/com/project/milvus/domain/service/impl/MilvusDemoServiceImpl.java @@ -28,103 +28,106 @@ public class MilvusDemoServiceImpl implements MilvusDemoService { //集合名称 private static final String COLLECTION_NAME = "titleCollection_"; - private final MilvusClientV2 client ; - //创建向量数据库连接 - public MilvusDemoServiceImpl(MilvusClientV2 client ) { - this.client = client ; - } +// private final MilvusClientV2 client ; +// //创建向量数据库连接 +// public MilvusDemoServiceImpl(MilvusClientV2 client ) { +// this.client = client ; +// } /** * 创建一个Collection */ @Override public void createCollection() { - CreateCollectionReq.CollectionSchema schema = client.createSchema(); - - schema.addField(AddFieldReq.builder() - .fieldName("id") - .dataType(DataType.Int64) - .isPrimaryKey(true) - .autoID(false) - .build()); - - schema.addField(AddFieldReq.builder() - .fieldName("point_ids") - .dataType(DataType.Array) - .elementType(DataType.Int64) - .maxCapacity(100) - .build()); - - schema.addField(AddFieldReq.builder() - .fieldName("title_vector") - .dataType(DataType.FloatVector) - .dimension(1024) - .build()); - - IndexParam indexParam = IndexParam.builder() - .fieldName("title_vector") - .metricType(IndexParam.MetricType.COSINE) - .build(); - - CreateCollectionReq createCollectionReq = CreateCollectionReq.builder() - .collectionName(COLLECTION_NAME) - .collectionSchema(schema) - .indexParams(Collections.singletonList(indexParam)) - .build(); - - client.createCollection(createCollectionReq); +// CreateCollectionReq.CollectionSchema schema = client.createSchema(); +// +// schema.addField(AddFieldReq.builder() +// .fieldName("id") +// .dataType(DataType.Int64) +// .isPrimaryKey(true) +// .autoID(false) +// .build()); +// +// schema.addField(AddFieldReq.builder() +// .fieldName("point_ids") +// .dataType(DataType.Array) +// .elementType(DataType.Int64) +// .maxCapacity(100) +// .build()); +// +// schema.addField(AddFieldReq.builder() +// .fieldName("title_vector") +// .dataType(DataType.FloatVector) +// .dimension(1024) +// .build()); +// +// IndexParam indexParam = IndexParam.builder() +// .fieldName("title_vector") +// .metricType(IndexParam.MetricType.COSINE) +// .build(); +// +// CreateCollectionReq createCollectionReq = CreateCollectionReq.builder() +// .collectionName(COLLECTION_NAME) +// .collectionSchema(schema) +// .indexParams(Collections.singletonList(indexParam)) +// .build(); +// +// client.createCollection(createCollectionReq); } /** * 往collection中插入一条数据 */ public void insertRecord(TitleVector title) { - QuestionTypeEnum questionTypeEnum = QuestionTypeEnum.findByValue(title.getQuestionDetailDTO().getType()); - - JsonObject vector = new JsonObject(); - vector.addProperty("id", title.getId()); - vector.addProperty("point_ids", title.getTaskKpIdsHash()); - vector.add("title_vector", title.getTitleVectorJson()); - - InsertReq insertReq = InsertReq.builder() - .collectionName(COLLECTION_NAME+questionTypeEnum.getType()) - .data(Collections.singletonList(vector)) - .build(); - - client.insert(insertReq); +// QuestionTypeEnum questionTypeEnum = QuestionTypeEnum.findByValue(title.getQuestionDetailDTO().getType()); +// +// JsonObject vector = new JsonObject(); +// vector.addProperty("id", title.getId()); +// vector.addProperty("point_ids", title.getTaskKpIdsHash()); +// vector.add("title_vector", title.getTitleVectorJson()); +// +// InsertReq insertReq = InsertReq.builder() +// .collectionName(COLLECTION_NAME+questionTypeEnum.getType()) +// .data(Collections.singletonList(vector)) +// .build(); +// +// client.insert(insertReq); } /** * 通过ID获取记录 */ public GetResp getRecord(String id) { - GetReq getReq = GetReq.builder() - .collectionName(COLLECTION_NAME) - .ids(Collections.singletonList(id)) - .build(); - GetResp resp = client.get(getReq); +// GetReq getReq = GetReq.builder() +// .collectionName(COLLECTION_NAME) +// .ids(Collections.singletonList(id)) +// .build(); +// GetResp resp = client.get(getReq); + GetResp resp = null; return resp; } + /** * 查询关联知识点相似度最大的题目 */ @Override public List> query(TitleVector title){ - QuestionTypeEnum questionTypeEnum = QuestionTypeEnum.findByValue(title.getQuestionDetailDTO().getType()); - - String expr = String.format("point_ids == '%s'", title.getTaskKpIdsHash()); - - SearchResp searchReq = client.search(SearchReq.builder() - .collectionName(COLLECTION_NAME+questionTypeEnum.getType()) - .data(Collections.singletonList(new FloatVec(title.getTitleVectorList()))) - .topK(1) - .filter(expr) - .outputFields(Collections.singletonList("*")) - .metricType(IndexParam.MetricType.COSINE) // 余弦相似度 - .build()); - - return searchReq.getSearchResults(); +// QuestionTypeEnum questionTypeEnum = QuestionTypeEnum.findByValue(title.getQuestionDetailDTO().getType()); +// +// String expr = String.format("point_ids == '%s'", title.getTaskKpIdsHash()); +// +// SearchResp searchReq = client.search(SearchReq.builder() +// .collectionName(COLLECTION_NAME+questionTypeEnum.getType()) +// .data(Collections.singletonList(new FloatVec(title.getTitleVectorList()))) +// .topK(1) +// .filter(expr) +// .outputFields(Collections.singletonList("*")) +// .metricType(IndexParam.MetricType.COSINE) // 余弦相似度 +// .build()); +// +// return searchReq.getSearchResults(); + return null; } }