发布版本 2.1.0

This commit is contained in:
xgc 2024-06-14 19:39:02 +08:00
parent 519bd52d04
commit 38c7ce36e6
9 changed files with 60 additions and 19 deletions

View File

@ -31,7 +31,7 @@
<dependency> <dependency>
<groupId>org.dromara</groupId> <groupId>org.dromara</groupId>
<artifactId>milvus-plus-core</artifactId> <artifactId>milvus-plus-core</artifactId>
<version>2.0.0</version> <version>2.1.0</version>
</dependency> </dependency>
``` ```
@ -41,7 +41,7 @@ Spring应用支持
<dependency> <dependency>
<groupId>org.dromara</groupId> <groupId>org.dromara</groupId>
<artifactId>milvus-plus-boot-starter</artifactId> <artifactId>milvus-plus-boot-starter</artifactId>
<version>2.0.0</version> <version>2.1.0</version>
</dependency> </dependency>
``` ```
@ -51,7 +51,7 @@ Solon应用支持
<dependency> <dependency>
<groupId>org.dromara</groupId> <groupId>org.dromara</groupId>
<artifactId>milvus-plus-solon-plugin</artifactId> <artifactId>milvus-plus-solon-plugin</artifactId>
<version>2.0.0</version> <version>2.1.0</version>
</dependency> </dependency>
``` ```

View File

@ -27,7 +27,7 @@ Custom extension support:
<dependency> <dependency>
<groupId>org.dromara</groupId> <groupId>org.dromara</groupId>
<artifactId>milvus-plus-core</artifactId> <artifactId>milvus-plus-core</artifactId>
<version>2.0.0</version> <version>2.1.0</version>
</dependency> </dependency>
``` ```
@ -37,7 +37,7 @@ Spring application support:
<dependency> <dependency>
<groupId>org.dromara</groupId> <groupId>org.dromara</groupId>
<artifactId>milvus-plus-boot-starter</artifactId> <artifactId>milvus-plus-boot-starter</artifactId>
<version>2.0.0</version> <version>2.1.0</version>
</dependency> </dependency>
``` ```
@ -47,7 +47,7 @@ Solon application support:
<dependency> <dependency>
<groupId>org.dromara</groupId> <groupId>org.dromara</groupId>
<artifactId>milvus-plus-solon-plugin</artifactId> <artifactId>milvus-plus-solon-plugin</artifactId>
<version>2.0.0</version> <version>2.1.0</version>
</dependency> </dependency>
``` ```

View File

@ -17,7 +17,7 @@
<dependency> <dependency>
<groupId>org.dromara</groupId> <groupId>org.dromara</groupId>
<artifactId>milvus-plus-core</artifactId> <artifactId>milvus-plus-core</artifactId>
<version>2.0.0</version> <version>2.1.0</version>
</dependency> </dependency>
</dependencies> </dependencies>
<dependencyManagement> <dependencyManagement>

View File

@ -30,7 +30,7 @@
</developer> </developer>
</developers> </developers>
<properties> <properties>
<revision>2.0.0</revision> <revision>2.1.0</revision>
<maven.compiler.source>${java.version}</maven.compiler.source> <maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target> <maven.compiler.target>${java.version}</maven.compiler.target>
<maven-compiler.version>3.11.0</maven-compiler.version> <maven-compiler.version>3.11.0</maven-compiler.version>

View File

@ -28,7 +28,7 @@
<dependency> <dependency>
<groupId>org.dromara</groupId> <groupId>org.dromara</groupId>
<artifactId>milvus-plus-solon-plugin</artifactId> <artifactId>milvus-plus-solon-plugin</artifactId>
<version>2.0.0</version> <version>2.1.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.noear</groupId> <groupId>org.noear</groupId>

View File

@ -21,7 +21,7 @@
<dependency> <dependency>
<groupId>org.dromara</groupId> <groupId>org.dromara</groupId>
<artifactId>milvus-plus-boot-starter</artifactId> <artifactId>milvus-plus-boot-starter</artifactId>
<version>2.0.0</version> <version>2.1.0</version>
</dependency> </dependency>
</dependencies> </dependencies>
<dependencyManagement> <dependencyManagement>

View File

@ -1,10 +1,15 @@
package org.dromara.milvus.demo; package org.dromara.milvus.demo;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Lists;
import io.milvus.v2.service.vector.response.InsertResp; import io.milvus.v2.service.vector.response.InsertResp;
import io.milvus.v2.service.vector.response.UpsertResp;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.dromara.milvus.demo.mapper.FaceMilvusMapper;
import org.dromara.milvus.demo.model.Face; import org.dromara.milvus.demo.model.Face;
import org.dromara.milvus.demo.model.FaceConstants;
import org.dromara.milvus.demo.model.FaceMilvusMapper;
import org.dromara.milvus.demo.model.Person;
import org.dromara.milvus.plus.model.vo.MilvusResp; import org.dromara.milvus.plus.model.vo.MilvusResp;
import org.dromara.milvus.plus.model.vo.MilvusResult; import org.dromara.milvus.plus.model.vo.MilvusResult;
import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationArguments;
@ -27,22 +32,28 @@ public class ApplicationRunnerTest implements ApplicationRunner {
@Override @Override
public void run(ApplicationArguments args) { public void run(ApplicationArguments args) {
insertFace(); // insertFace();
getByIdTest(); // getByIdTest();
vectorQuery(); // vectorQuery();
scalarQuery(); scalarQuery();
// update();
} }
private void insertFace() { private void insertFace() {
List<Face> faces = LongStream.range(1, 10) List<Face> faces = LongStream.range(1, 10)
.mapToObj(i -> { .mapToObj(i -> {
Face faceTmp = new Face(); Face faceTmp = new Face();
faceTmp.setPersonId(i); // faceTmp.setPersonId(i);
List<Float> vectorTmp = IntStream.range(0, 128) List<Float> vectorTmp = IntStream.range(0, 128)
.mapToObj(j -> (float) (Math.random() * 100)) .mapToObj(j -> (float) (Math.random() * 100))
.collect(Collectors.toList()); .collect(Collectors.toList());
faceTmp.setFaceVector(vectorTmp); faceTmp.setFaceVector(vectorTmp);
faceTmp.setPersonName(i % 2 == 0 ? "张三" + i : "李四" + i); faceTmp.setPersonName(i % 2 == 0 ? "张三" + i : "李四" + i);
Person person=new Person();
person.setName(faceTmp.getPersonName());
person.setAge((int) (i*100));
person.setImages(Lists.newArrayList("https://baidu.com"));
faceTmp.setPerson(person);
return faceTmp; return faceTmp;
}) })
.collect(Collectors.toList()); .collect(Collectors.toList());
@ -64,7 +75,7 @@ public class ApplicationRunnerTest implements ApplicationRunner {
List<Float> vector = IntStream.range(0, 128) List<Float> vector = IntStream.range(0, 128)
.mapToObj(i -> (float) (Math.random() * 100)) .mapToObj(i -> (float) (Math.random() * 100))
.collect(Collectors.toList()); .collect(Collectors.toList());
MilvusResp<List<MilvusResult<Face>>> query1 = mapper.queryWrapper().alias("alias_face") MilvusResp<List<MilvusResult<Face>>> query1 = mapper.queryWrapper()
.vector(Face::getFaceVector, vector) .vector(Face::getFaceVector, vector)
.like(Face::getPersonName, "张三") .like(Face::getPersonName, "张三")
.topK(3) .topK(3)
@ -75,9 +86,20 @@ public class ApplicationRunnerTest implements ApplicationRunner {
public void scalarQuery() { public void scalarQuery() {
//标量查询 //标量查询
MilvusResp<List<MilvusResult<Face>>> query2 = mapper.queryWrapper() MilvusResp<List<MilvusResult<Face>>> query2 = mapper.queryWrapper()
.eq(Face::getPersonId, 2L) // .eq(Face::getPersonId, 2L)
.jsonContains("person_info[\"images\"]","https://baidu.com")
.limit(3L) .limit(3L)
.query(); .query();
log.info("标量查询 query--queryWrapper---{}", JSONObject.toJSONString(query2)); log.info("标量查询 query--queryWrapper---{}", JSONObject.toJSONString(query2));
} }
public void update(){
Face faceTmp = new Face();
List<Float> vectorTmp = IntStream.range(0, 128)
.mapToObj(j -> (float) (Math.random() * 100))
.collect(Collectors.toList());
faceTmp.setFaceVector(vectorTmp);
faceTmp.setPersonName("赵六");
MilvusResp<UpsertResp> resp = mapper.updateWrapper().eq(FaceConstants.PERSON_NAME,"张三").update(faceTmp);
System.out.printf("===="+ JSON.toJSONString(resp));
}
} }

View File

@ -8,14 +8,15 @@ import org.dromara.milvus.plus.annotation.*;
import java.util.List; import java.util.List;
@Data @Data
@MilvusCollection(name = "face_collection", alias = {"alias_face"}) @MilvusCollection(name = "face_collection")
@MilvusPartition(name = {"face_001", "face_002"}) @MilvusPartition(name = {"face_001", "face_002"})
@GenerateMilvusMapper
public class Face { public class Face {
@MilvusField( @MilvusField(
name = "person_id", // 字段名称 name = "person_id", // 字段名称
dataType = DataType.Int64, // 数据类型为64位整数 dataType = DataType.Int64, // 数据类型为64位整数
isPrimaryKey = true, // 标记为主键 isPrimaryKey = true, // 标记为主键
autoID = false // 假设这个ID是自动生成的 autoID = true // 假设这个ID是自动生成的
) )
private Long personId; // 人员的唯一标识符 private Long personId; // 人员的唯一标识符
@ -25,6 +26,12 @@ public class Face {
) )
private String personName; // 人员姓名 private String personName; // 人员姓名
@MilvusField(
name = "person_info",
dataType = DataType.JSON
)
private Person person;
@MilvusField( @MilvusField(
name = "face_vector", // 字段名称 name = "face_vector", // 字段名称
dataType = DataType.FloatVector, // 数据类型为浮点型向量 dataType = DataType.FloatVector, // 数据类型为浮点型向量

View File

@ -0,0 +1,12 @@
package org.dromara.milvus.demo.model;
import lombok.Data;
import java.util.List;
@Data
public class Person {
private String name;
private Integer age;
private List<String> images;
}