作者 dong

排序修复

... ... @@ -118,7 +118,6 @@ public class AiragLogController extends JeecgController<AiragLog, IAiragLogServi
.filter(model -> "LLM".equals(model.getModelType()))
.collect(Collectors.toList());
return Result.OK(filteredList);
}
... ...
... ... @@ -56,6 +56,8 @@ public class PgVectorMapper {
countParams.add("%" + embeddings.getText() + "%");
}
sql.append(" ORDER BY (metadata->>'knowledgeId') ASC NULLS LAST, (metadata->>'docName') ASC");
// 添加分页
sql.append(" LIMIT ? OFFSET ?");
params.add(pageSize);
... ... @@ -80,24 +82,6 @@ public class PgVectorMapper {
throw new RuntimeException("查询向量数据时发生数据库错误", e);
}
// 2. 获取知识库名称映射
Map<String, String> knowledgeNameMap = getKnowledgeNameMap(results);
// 3. 设置知识库名称并处理空值
for (Embeddings record : results) {
String knowledgeId = record.getKnowledgeId();
String name = knowledgeNameMap.get(knowledgeId);
record.setKnowledgeName(name != null ? name : "");
}
// 4. 安全排序(处理空值)
results.sort(Comparator
.comparing(Embeddings::getKnowledgeName,
Comparator.nullsLast(Comparator.naturalOrder()))
.thenComparing(Embeddings::getDocName,
Comparator.nullsLast(Comparator.naturalOrder())));
// 执行计数查询
int total = 0;
try(Connection conn = getConnection();
... ...
... ... @@ -68,6 +68,8 @@ public class QuestionEmbeddingMapper {
countParams.add("%" + questionEmbedding.getAnswer() + "%");
}
sql.append(" ORDER BY (metadata->>'knowledgeId') ASC NULLS LAST, question ASC");
// 添加分页
sql.append(" LIMIT ? OFFSET ?");
params.add(pageSize);
... ... @@ -91,23 +93,6 @@ public class QuestionEmbeddingMapper {
throw new RuntimeException("查询数据时发生数据库错误", e);
}
// 2. 获取知识库名称映射
Map<String, String> knowledgeNameMap = getKnowledgeNameMap(results);
// 3. 设置知识库名称并处理空值
for (QuestionEmbedding record : results) {
String knowledgeId = record.getKnowledgeId();
String name = knowledgeNameMap.get(knowledgeId);
record.setKnowledgeName(name != null ? name : "");
}
// 4. 安全排序(处理空值)
results.sort(Comparator
.comparing(QuestionEmbedding::getKnowledgeName,
Comparator.nullsLast(Comparator.naturalOrder()))
.thenComparing(QuestionEmbedding::getQuestion,
Comparator.nullsLast(Comparator.naturalOrder())));
// 执行计数查询
long total = 0;
try(Connection conn = getConnection();
... ...