优化字段

pull/1/head
liu 12 months ago
parent 98ec64f781
commit 83c7c8551f

@ -28,8 +28,8 @@ public class VectorSimilarityConfiguration {
.withIndexName(redisVectorProperties.getIndexName()) .withIndexName(redisVectorProperties.getIndexName())
// 定义搜索过滤器使用的元数据字段(!!!!!!!!千万重要,数据类型一定要用字符串,否则会导致查询不到!!!!!!!!) // 定义搜索过滤器使用的元数据字段(!!!!!!!!千万重要,数据类型一定要用字符串,否则会导致查询不到!!!!!!!!)
.withMetadataFields( .withMetadataFields(
// 问题的ID // 问题的ID,如果type=1,则在library表,如果type=2,则在similar表
RedisVectorStore.MetadataField.tag("matchQuestionId"), RedisVectorStore.MetadataField.tag("questionId"),
//关联字典ID //关联字典ID
RedisVectorStore.MetadataField.tag("dictId"), RedisVectorStore.MetadataField.tag("dictId"),
// 标准问ID // 标准问ID

@ -13,7 +13,7 @@ public class QaSimilarityQuestionAnswer {
/** /**
* ID * ID
*/ */
private String matchQuestionId; private String questionId;
/** /**
* ID * ID

@ -43,7 +43,7 @@ public class SimilarityUtil {
return documents.stream().map(document -> { return documents.stream().map(document -> {
QaSimilarityQuestionAnswer qaSimilarityQuestionAnswer = new QaSimilarityQuestionAnswer(); QaSimilarityQuestionAnswer qaSimilarityQuestionAnswer = new QaSimilarityQuestionAnswer();
qaSimilarityQuestionAnswer.setMatchQuestion(document.getContent()); qaSimilarityQuestionAnswer.setMatchQuestion(document.getContent());
qaSimilarityQuestionAnswer.setMatchQuestionId(String.valueOf(document.getMetadata().get("matchQuestionId"))); qaSimilarityQuestionAnswer.setQuestionId(String.valueOf(document.getMetadata().get("questionId")));
qaSimilarityQuestionAnswer.setDictId(String.valueOf(document.getMetadata().get("dictId"))); qaSimilarityQuestionAnswer.setDictId(String.valueOf(document.getMetadata().get("dictId")));
qaSimilarityQuestionAnswer.setLibraryQuestionId(String.valueOf(document.getMetadata().get("libraryQuestionId"))); qaSimilarityQuestionAnswer.setLibraryQuestionId(String.valueOf(document.getMetadata().get("libraryQuestionId")));
// 1- 可以使数据进行排序,相似度越高,数值越大(redis相似度给的数据是越小相似度越高) // 1- 可以使数据进行排序,相似度越高,数值越大(redis相似度给的数据是越小相似度越高)

@ -38,14 +38,14 @@ public class QaKnowledgeManageServiceImpl implements QaKnowledgeManageService {
redisVectorStore.add(List.of(new Document(description, redisVectorStore.add(List.of(new Document(description,
Map.of("type", "1", Map.of("type", "1",
"libraryQuestionId", askTemplateQuestionLibrary.getId(), "libraryQuestionId", askTemplateQuestionLibrary.getId(),
"matchQuestionId", askTemplateQuestionLibrary.getId(), "questionId", askTemplateQuestionLibrary.getId(),
"dictId", String.valueOf(askTemplateQuestionLibrary.getDictId()))))); "dictId", String.valueOf(askTemplateQuestionLibrary.getDictId())))));
List<AskTemplateQuestionSimilarity> similarityList = askTemplateQuestionSimilarityService.lambdaQuery().eq(AskTemplateQuestionSimilarity::getLibraryId, askTemplateQuestionLibrary.getId()).list(); List<AskTemplateQuestionSimilarity> similarityList = askTemplateQuestionSimilarityService.lambdaQuery().eq(AskTemplateQuestionSimilarity::getLibraryId, askTemplateQuestionLibrary.getId()).list();
for (AskTemplateQuestionSimilarity askTemplateQuestionSimilarity : similarityList) { for (AskTemplateQuestionSimilarity askTemplateQuestionSimilarity : similarityList) {
redisVectorStore.add(List.of(new Document(askTemplateQuestionSimilarity.getSimilarityQuestion(), redisVectorStore.add(List.of(new Document(askTemplateQuestionSimilarity.getSimilarityQuestion(),
Map.of("type", "2", Map.of("type", "2",
"libraryQuestionId", askTemplateQuestionSimilarity.getLibraryId(), "libraryQuestionId", askTemplateQuestionSimilarity.getLibraryId(),
"matchQuestionId", askTemplateQuestionSimilarity.getId(), "questionId", askTemplateQuestionSimilarity.getId(),
"dictId", String.valueOf(askTemplateQuestionLibrary.getDictId()))))); "dictId", String.valueOf(askTemplateQuestionLibrary.getDictId())))));
} }
} }

@ -94,14 +94,14 @@ public class TestController {
redisVectorStore.add(List.of(new Document(description, redisVectorStore.add(List.of(new Document(description,
Map.of("type", "1", Map.of("type", "1",
"libraryQuestionId", askTemplateQuestionLibrary.getId(), "libraryQuestionId", askTemplateQuestionLibrary.getId(),
"matchQuestionId", askTemplateQuestionLibrary.getId(), "questionId", askTemplateQuestionLibrary.getId(),
"dictId", String.valueOf(askTemplateQuestionLibrary.getDictId()))))); "dictId", String.valueOf(askTemplateQuestionLibrary.getDictId())))));
List<AskTemplateQuestionSimilarity> similarityList = askTemplateQuestionSimilarityService.lambdaQuery().eq(AskTemplateQuestionSimilarity::getLibraryId, askTemplateQuestionLibrary.getId()).list(); List<AskTemplateQuestionSimilarity> similarityList = askTemplateQuestionSimilarityService.lambdaQuery().eq(AskTemplateQuestionSimilarity::getLibraryId, askTemplateQuestionLibrary.getId()).list();
for (AskTemplateQuestionSimilarity askTemplateQuestionSimilarity : similarityList) { for (AskTemplateQuestionSimilarity askTemplateQuestionSimilarity : similarityList) {
redisVectorStore.add(List.of(new Document(askTemplateQuestionSimilarity.getSimilarityQuestion(), redisVectorStore.add(List.of(new Document(askTemplateQuestionSimilarity.getSimilarityQuestion(),
Map.of("type", "2", Map.of("type", "2",
"libraryQuestionId", askTemplateQuestionSimilarity.getLibraryId(), "libraryQuestionId", askTemplateQuestionSimilarity.getLibraryId(),
"matchQuestionId", askTemplateQuestionSimilarity.getId(), "questionId", askTemplateQuestionSimilarity.getId(),
"dictId", String.valueOf(askTemplateQuestionLibrary.getDictId()))))); "dictId", String.valueOf(askTemplateQuestionLibrary.getDictId())))));
} }
} }

@ -165,7 +165,7 @@ public class AskServiceImpl implements AskService {
.similarityInfo(JSONUtil.toJsonStr(similarityAnswerList)) .similarityInfo(JSONUtil.toJsonStr(similarityAnswerList))
.matchScore(similarityResult.getMatchScore()) .matchScore(similarityResult.getMatchScore())
.matchItem(Optional.ofNullable(commonDicService.getById(Long.parseLong(similarityResult.getDictId()))).orElse(new CommonDic()).getNameZhPath()) .matchItem(Optional.ofNullable(commonDicService.getById(Long.parseLong(similarityResult.getDictId()))).orElse(new CommonDic()).getNameZhPath())
.matchSimilarityId(similarityResult.getMatchQuestionId()) .matchSimilarityId(similarityResult.getQuestionId())
.matchLibraryId(similarityResult.getLibraryQuestionId()) .matchLibraryId(similarityResult.getLibraryQuestionId())
.matchQuestion(similarityResult.getMatchQuestion()) .matchQuestion(similarityResult.getMatchQuestion())
.successType(1) .successType(1)

Loading…
Cancel
Save