|
|
|
@ -36,6 +36,9 @@ public class MatchToolServiceImpl implements MatchToolService {
|
|
|
|
|
@Value("${matchTool.url}")
|
|
|
|
|
private String matchToolUrl;
|
|
|
|
|
|
|
|
|
|
@Value("${matchTool.scoreThreshold}")
|
|
|
|
|
private String scoreThreshold;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void refreshMatchToolLibrary() {
|
|
|
|
|
// 获取所有的问题
|
|
|
|
@ -60,13 +63,19 @@ public class MatchToolServiceImpl implements MatchToolService {
|
|
|
|
|
}
|
|
|
|
|
// 调用tool服务进行更新操作
|
|
|
|
|
submitRefresh(matchToolQuestionDTOList);
|
|
|
|
|
// 更新完成之后,将数据置为生效
|
|
|
|
|
irKnowledgeService.lambdaUpdate().set(IrKnowledge::getState, 1).in(IrKnowledge::getId, questionLibrary.keySet()).update();
|
|
|
|
|
Set<String> similarKnowledgeIdSet = similarList.stream().map(IrKnowledgeSimilar::getId).collect(Collectors.toSet());
|
|
|
|
|
if (CollUtil.isNotEmpty(similarKnowledgeIdSet)) {
|
|
|
|
|
irKnowledgeSimilarService.lambdaUpdate().set(IrKnowledgeSimilar::getState, 1).in(IrKnowledgeSimilar::getId, similarKnowledgeIdSet).update();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<MatchQuestionAnswerDTO> execMatch(String question) {
|
|
|
|
|
log.info("开始调用talkQaSimilarity,问题:{}", question);
|
|
|
|
|
try {
|
|
|
|
|
String post = HttpUtil.post(matchToolUrl + "/matchQuestion", JSONUtil.toJsonStr(new QuestionReqDTO(question)));
|
|
|
|
|
String post = HttpUtil.post(matchToolUrl + "/matchQuestion", JSONUtil.toJsonStr(new QuestionReqDTO(question, Double.valueOf(scoreThreshold))));
|
|
|
|
|
log.info("相似度匹配答案:{}", post);
|
|
|
|
|
TypeReference<GlobalResult<List<MatchQuestionAnswerDTO>>> globalResultTypeReference = new TypeReference<GlobalResult<List<MatchQuestionAnswerDTO>>>() {
|
|
|
|
|
};
|
|
|
|
|