diff --git a/face-search-engine/libs/milvus-java-sdk-2.0.0.jar b/face-search-engine/libs/milvus-java-sdk-2.0.0.jar index fbf840b..b763a76 100644 Binary files a/face-search-engine/libs/milvus-java-sdk-2.0.0.jar and b/face-search-engine/libs/milvus-java-sdk-2.0.0.jar differ diff --git a/face-search-server/src/main/java/com/visual/face/search/server/engine/impl/MilvusSearchEngine.java b/face-search-server/src/main/java/com/visual/face/search/server/engine/impl/MilvusSearchEngine.java index 735a3cf..f917d3a 100644 --- a/face-search-server/src/main/java/com/visual/face/search/server/engine/impl/MilvusSearchEngine.java +++ b/face-search-server/src/main/java/com/visual/face/search/server/engine/impl/MilvusSearchEngine.java @@ -175,7 +175,7 @@ public class MilvusSearchEngine implements SearchEngine { SearchResultsWrapper wrapper = new SearchResultsWrapper(response.getData().getResults()); for (int i = 0; i < features.length; ++i) { List documents = new ArrayList<>(); - List scores = wrapper.GetIDScore(i); + List scores = wrapper.getIDScore(i); for(SearchResultsWrapper.IDScore scoreId : scores){ long primaryKey = scoreId.getLongID(); float score = scoreId.getScore(); diff --git a/face-search-server/src/main/java/com/visual/face/search/server/service/impl/FaceSearchServiceImpl.java b/face-search-server/src/main/java/com/visual/face/search/server/service/impl/FaceSearchServiceImpl.java index 8c61320..016d23b 100644 --- a/face-search-server/src/main/java/com/visual/face/search/server/service/impl/FaceSearchServiceImpl.java +++ b/face-search-server/src/main/java/com/visual/face/search/server/service/impl/FaceSearchServiceImpl.java @@ -86,9 +86,23 @@ public class FaceSearchServiceImpl extends BaseService implements FaceSearchServ } //结果和人数是否一致 List result = searchResponse.getResult(); - if(result.size() != faceInfos.size()){ + if(result.size() > 0 && result.size() != faceInfos.size()){ throw new RuntimeException("search result error"); } + //如数据库中没有任何样本的情况下,会出现异常,这里进行单独处理 + if(result.size() == 0 && faceInfos.size() > 0){ + List vos = new ArrayList<>(); + for(int i=0; i match = new ArrayList<>(); + vo.setMatch(match); + vos.add(vo); + } + return vos; + } //获取关联数据ID boolean needFixFaceId = false; Set faceIds = new HashSet<>(); diff --git a/face-search-server/src/main/resources/application-dev.yml b/face-search-server/src/main/resources/application-dev.yml index 07b14f2..e9760fe 100644 --- a/face-search-server/src/main/resources/application-dev.yml +++ b/face-search-server/src/main/resources/application-dev.yml @@ -45,10 +45,10 @@ visual: engine: selected: milvus proxima: - host: 172.16.36.229 + host: visual-face-search-proxima port: 16000 milvus: - host: 172.16.36.229 + host: visual-face-search-milvus port: 19530 swagger: enable: true @@ -72,9 +72,9 @@ spring: druid: # 主库数据源 master: - url: jdbc:mysql://172.16.36.228:3306/visual_face_search?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 - username: model - password: Model123!@# + url: jdbc:mysql://visual-face-search-mysql:3306/visual_face_search?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + username: visual + password: visual slave: # 从数据源开关/默认关闭 enabled: false diff --git a/face-search-test/src/main/java/com/visual/face/search/valid/exps/FaceSearchExample.java b/face-search-test/src/main/java/com/visual/face/search/valid/exps/FaceSearchExample.java index ffb730d..2d3e0b5 100644 --- a/face-search-test/src/main/java/com/visual/face/search/valid/exps/FaceSearchExample.java +++ b/face-search-test/src/main/java/com/visual/face/search/valid/exps/FaceSearchExample.java @@ -16,8 +16,10 @@ import org.apache.commons.codec.digest.DigestUtils; public class FaceSearchExample { static{ nu.pattern.OpenCV.loadShared(); } - + //本地开发模式 public static String serverHost = "http://127.0.0.1:8080"; + //docker部署模式 + //public static String serverHost = "http://127.0.0.1:56789"; public static String namespace = "namespace_1"; public static String collectionName = "collect_20211201_v05"; public static FaceSearch faceSearch = FaceSearch.build(serverHost, namespace, collectionName); diff --git a/scripts/docker-compose-milvus.yml b/scripts/docker-compose-milvus.yml index caf6117..64df4fa 100644 --- a/scripts/docker-compose-milvus.yml +++ b/scripts/docker-compose-milvus.yml @@ -14,6 +14,8 @@ services: command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci volumes: - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes-face-search/mysql:/var/lib/mysql + ports: + - "43306:3306" restart: always visual-etcd: @@ -46,15 +48,15 @@ services: visual-milvus: container_name: face-search-milvus-standalone - image: milvusdb/milvus:v2.0.0-rc8-20211104-d1f4106 + image: milvusdb/milvus:v2.0.1 command: ["milvus", "run", "standalone"] environment: ETCD_ENDPOINTS: visual-etcd:2379 MINIO_ADDRESS: visual-minio:9000 volumes: - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes-face-search/milvus:/var/lib/milvus -# ports: -# - "19530:19530" + ports: + - "19530:19530" depends_on: - "visual-etcd" - "visual-minio"