|
@@ -43,16 +43,20 @@ public class OpenSearchHandler implements PojoRequestHandler<TaskImageMsg, List<
|
|
|
throw new RuntimeException("尚未更新索引信息,id:" + taskImageIndex.getId());
|
|
throw new RuntimeException("尚未更新索引信息,id:" + taskImageIndex.getId());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- // 维度一:namespace 维度
|
|
|
|
|
- String nsFilter = String.format("sourceSendPackageDeptId = %d AND taskId != %d", taskImageIndex.getSourceSendPackageDeptId(), taskImageIndex.getTaskId());
|
|
|
|
|
- List<TaskImageIndex.MultiResult> nsResult = knnSearch(namespace, taskImageIndex.getVector(), nsFilter, "namespace");
|
|
|
|
|
- List<TaskImageIndex.MultiResult> multiResultList = new ArrayList<>(nsResult);
|
|
|
|
|
-
|
|
|
|
|
- // 维度二:namespace + taskId 维度
|
|
|
|
|
- String nsTaskFilter = String.format("sourceSendPackageDeptId = %d AND taskId = %d AND id != \"%s\"", taskImageIndex.getSourceSendPackageDeptId(), taskImageIndex.getTaskId(), taskImageIndex.getId());
|
|
|
|
|
- List<TaskImageIndex.MultiResult> nsTaskResult = knnSearch(namespace, taskImageIndex.getVector(), nsTaskFilter, "task");
|
|
|
|
|
- multiResultList.addAll(nsTaskResult);
|
|
|
|
|
- taskImageIndex.setMultiResult(JacksonUtils.toJson(multiResultList));
|
|
|
|
|
|
|
+ if (taskImageIndex.getStatus() == 0) {
|
|
|
|
|
+ taskImageIndex.setMultiResult(null);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // 维度一:namespace 维度
|
|
|
|
|
+ String nsFilter = String.format("sourceSendPackageDeptId = %d AND taskId != %d AND status = 1", taskImageIndex.getSourceSendPackageDeptId(), taskImageIndex.getTaskId());
|
|
|
|
|
+ List<TaskImageIndex.MultiResult> nsResult = knnSearch(namespace, taskImageIndex.getVector(), nsFilter, "namespace");
|
|
|
|
|
+ List<TaskImageIndex.MultiResult> multiResultList = new ArrayList<>(nsResult);
|
|
|
|
|
+
|
|
|
|
|
+ // 维度二:namespace + taskId 维度
|
|
|
|
|
+ String nsTaskFilter = String.format("sourceSendPackageDeptId = %d AND taskId = %d AND id != \"%s AND status = 1 ", taskImageIndex.getSourceSendPackageDeptId(), taskImageIndex.getTaskId(), taskImageIndex.getId());
|
|
|
|
|
+ List<TaskImageIndex.MultiResult> nsTaskResult = knnSearch(namespace, taskImageIndex.getVector(), nsTaskFilter, "task");
|
|
|
|
|
+ multiResultList.addAll(nsTaskResult);
|
|
|
|
|
+ taskImageIndex.setMultiResult(JacksonUtils.toJson(multiResultList));
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//先落库
|
|
//先落库
|
|
@@ -66,22 +70,22 @@ public class OpenSearchHandler implements PojoRequestHandler<TaskImageMsg, List<
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void saveByTask(TaskImageMsg taskImageMsg) {
|
|
private void saveByTask(TaskImageMsg taskImageMsg) {
|
|
|
- String[] images = taskImageMsg.getImages();
|
|
|
|
|
|
|
+ List<TaskImageMsg.ImageInfo> images = taskImageMsg.getImages();
|
|
|
|
|
|
|
|
List<TaskImageIndex> taskImageList = fetchByTaskId(taskImageMsg.getNamespace(), taskImageMsg.getTaskId());
|
|
List<TaskImageIndex> taskImageList = fetchByTaskId(taskImageMsg.getNamespace(), taskImageMsg.getTaskId());
|
|
|
Map<String, TaskImageIndex> map = taskImageList.stream().collect(Collectors.toMap(TaskImageIndex::getImage, Function.identity()));
|
|
Map<String, TaskImageIndex> map = taskImageList.stream().collect(Collectors.toMap(TaskImageIndex::getImage, Function.identity()));
|
|
|
|
|
|
|
|
List<TaskImageIndex> addList = new ArrayList<>();
|
|
List<TaskImageIndex> addList = new ArrayList<>();
|
|
|
List<TaskImageIndex> deleteList = new ArrayList<>();
|
|
List<TaskImageIndex> deleteList = new ArrayList<>();
|
|
|
- for (String image : images) {
|
|
|
|
|
- TaskImageIndex exists = map.remove(image);
|
|
|
|
|
|
|
+ for (TaskImageMsg.ImageInfo imageInfo : images) {
|
|
|
|
|
+ TaskImageIndex exists = map.remove(imageInfo.getImage());
|
|
|
if (exists != null) {
|
|
if (exists != null) {
|
|
|
- TaskImageIndex index = buildTaskImageIndex(exists.getId(), taskImageMsg, image);
|
|
|
|
|
|
|
+ TaskImageIndex index = buildTaskImageIndex(exists.getId(), taskImageMsg, imageInfo);
|
|
|
index.setVector(exists.getVector());
|
|
index.setVector(exists.getVector());
|
|
|
addList.add(index);
|
|
addList.add(index);
|
|
|
} else {
|
|
} else {
|
|
|
String id = UUID.randomUUID().toString().replaceAll("-", "");
|
|
String id = UUID.randomUUID().toString().replaceAll("-", "");
|
|
|
- addList.add(buildTaskImageIndex(id, taskImageMsg, image));
|
|
|
|
|
|
|
+ addList.add(buildTaskImageIndex(id, taskImageMsg, imageInfo));
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -189,6 +193,9 @@ public class OpenSearchHandler implements PojoRequestHandler<TaskImageMsg, List<
|
|
|
if (fields.has("image")) {
|
|
if (fields.has("image")) {
|
|
|
index.setImage(fields.get("image").asText());
|
|
index.setImage(fields.get("image").asText());
|
|
|
}
|
|
}
|
|
|
|
|
+ if (fields.has("taskFiledValue")) {
|
|
|
|
|
+ index.setTaskFiledValue(fields.get("taskFiledValue").asText());
|
|
|
|
|
+ }
|
|
|
if (fields.has("taskTime")) {
|
|
if (fields.has("taskTime")) {
|
|
|
index.setTaskTime(fields.get("taskTime").asText());
|
|
index.setTaskTime(fields.get("taskTime").asText());
|
|
|
}
|
|
}
|
|
@@ -256,7 +263,7 @@ public class OpenSearchHandler implements PojoRequestHandler<TaskImageMsg, List<
|
|
|
return list;
|
|
return list;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private TaskImageIndex buildTaskImageIndex(String id, TaskImageMsg msg, String image) {
|
|
|
|
|
|
|
+ private TaskImageIndex buildTaskImageIndex(String id, TaskImageMsg msg, TaskImageMsg.ImageInfo imageInfo) {
|
|
|
TaskImageIndex index = new TaskImageIndex();
|
|
TaskImageIndex index = new TaskImageIndex();
|
|
|
index.setId(id);
|
|
index.setId(id);
|
|
|
index.setNamespace(msg.getNamespace());
|
|
index.setNamespace(msg.getNamespace());
|
|
@@ -266,7 +273,8 @@ public class OpenSearchHandler implements PojoRequestHandler<TaskImageMsg, List<
|
|
|
index.setUserId(msg.getUserId());
|
|
index.setUserId(msg.getUserId());
|
|
|
index.setStatus(msg.getStatus());
|
|
index.setStatus(msg.getStatus());
|
|
|
index.setTaskTime(msg.getTaskTime());
|
|
index.setTaskTime(msg.getTaskTime());
|
|
|
- index.setImage(image);
|
|
|
|
|
|
|
+ index.setImage(imageInfo.getImage());
|
|
|
|
|
+ index.setTaskFiledValue(imageInfo.getTaskFiledValue());
|
|
|
return index;
|
|
return index;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -286,6 +294,7 @@ public class OpenSearchHandler implements PojoRequestHandler<TaskImageMsg, List<
|
|
|
msg.setAlgoConfigId(taskImageMsg.getAlgoConfigId());
|
|
msg.setAlgoConfigId(taskImageMsg.getAlgoConfigId());
|
|
|
msg.setTaskId(taskImageIndex.getTaskId());
|
|
msg.setTaskId(taskImageIndex.getTaskId());
|
|
|
msg.setImage(taskImageIndex.getImage());
|
|
msg.setImage(taskImageIndex.getImage());
|
|
|
|
|
+ msg.setTaskFiledValue(taskImageIndex.getTaskFiledValue());
|
|
|
|
|
|
|
|
if (taskImageIndex.getMultiResult() != null) {
|
|
if (taskImageIndex.getMultiResult() != null) {
|
|
|
TaskImageIndex.MultiResult[] results = JacksonUtils.parseObject(taskImageIndex.getMultiResult(), TaskImageIndex.MultiResult[].class);
|
|
TaskImageIndex.MultiResult[] results = JacksonUtils.parseObject(taskImageIndex.getMultiResult(), TaskImageIndex.MultiResult[].class);
|