|
|
@@ -16,7 +16,7 @@ import java.util.stream.Collectors;
|
|
|
|
|
|
@Slf4j
|
|
|
public class OpenSearchHandler implements PojoRequestHandler<TaskImageMsg, List<ImageMultiMsg>> {
|
|
|
- private static final String TABLE_NAME = "";
|
|
|
+ private static final String TABLE_NAME = "task_image_cos_2048";
|
|
|
|
|
|
private static final int TOP_K = 10;
|
|
|
private static final float SCORE_THRESHOLD = 0.7f;
|
|
|
@@ -43,12 +43,12 @@ public class OpenSearchHandler implements PojoRequestHandler<TaskImageMsg, List<
|
|
|
}
|
|
|
|
|
|
// 维度一:namespace 维度
|
|
|
- String nsFilter = "taskId!=" + taskId;
|
|
|
+ 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 = "taskId=" + taskId + " and id!=\"" + taskImageIndex.getId() + "\"";
|
|
|
+ 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.toJsonString(multiResultList));
|
|
|
@@ -172,6 +172,9 @@ public class OpenSearchHandler implements PojoRequestHandler<TaskImageMsg, List<
|
|
|
if (fields.has("taskId")) {
|
|
|
index.setTaskId(fields.get("taskId").asLong());
|
|
|
}
|
|
|
+ if (fields.has("sourceSendPackageDeptId")) {
|
|
|
+ index.setSourceSendPackageDeptId(fields.get("sourceSendPackageDeptId").asLong());
|
|
|
+ }
|
|
|
if (fields.has("taskTypeId")) {
|
|
|
index.setTaskTypeId(fields.get("taskTypeId").asInt());
|
|
|
}
|
|
|
@@ -248,6 +251,7 @@ public class OpenSearchHandler implements PojoRequestHandler<TaskImageMsg, List<
|
|
|
index.setId(id);
|
|
|
index.setNamespace(msg.getNamespace());
|
|
|
index.setTaskId(msg.getTaskId());
|
|
|
+ index.setSourceSendPackageDeptId(msg.getSourceSendPackageDeptId());
|
|
|
index.setTaskTypeId(msg.getTaskTypeId());
|
|
|
index.setUserId(msg.getUserId());
|
|
|
index.setStatus(msg.getStatus());
|