瀏覽代碼

查询答案接口修改

renjiaojiao 3 年之前
父節點
當前提交
b42d70f12f

+ 2 - 0
rpc/knowledge/internal/logic/findanswerlogic.go

@@ -10,6 +10,7 @@ import (
 	"knowledgeBase/rpc/knowledge/internal/svc"
 	"knowledgeBase/rpc/knowledge/knowledgeclient"
 	"knowledgeBase/rpc/knowledge/util"
+	"log"
 )
 
 type FindAnswerLogic struct {
@@ -29,6 +30,7 @@ func NewFindAnswerLogic(ctx context.Context, svcCtx *svc.ServiceContext) *FindAn
 func (l *FindAnswerLogic) FindAnswer(in *knowledgeclient.FindAnswerReq) (*knowledgeclient.FindAnswerResp, error) {
 	var question knowledgeclient.Question
 	robotEntId := SE.Decode4Hex(in.RobotEntId)
+	log.Println("机器人企业id:", robotEntId)
 	//组装es query
 	query := util.DSL4SmartResponse(in.Question, robotEntId, int(in.Type))
 	res := elastic.Get(C.Es.Index, C.Es.Type, query)

+ 12 - 18
rpc/knowledge/internal/logic/recommendanswerlogic.go

@@ -1,12 +1,12 @@
 package logic
 
-import "C"
 import (
 	cm "app.yhyue.com/moapp/jybase/common"
 	. "app.yhyue.com/moapp/jybase/encrypt"
 	elastic "app.yhyue.com/moapp/jybase/esv1"
 	"context"
 	"github.com/zeromicro/go-zero/core/logx"
+	. "knowledgeBase/rpc/knowledge/init"
 	"knowledgeBase/rpc/knowledge/internal/svc"
 	"knowledgeBase/rpc/knowledge/knowledgeclient"
 	"knowledgeBase/rpc/knowledge/util"
@@ -37,25 +37,19 @@ func (l *RecommendAnswerLogic) RecommendAnswer(in *knowledgeclient.FindAnswerReq
 	//根据问题进行分词
 	keyWords = util.HttpDo(in.Question)
 	log.Println("问题分词关键字:", keyWords)
-	if keyWords != "" {
-		var query = util.DSL4SearchByKwsOrid(keyWords, SE.Decode4Hex(in.RobotEntId))
-		res := elastic.GetAllByNgram(C.Es.Index, C.Es.Type, query, "", "", searchField, 0, 3, 0, false)
+	var query = util.DSL4SearchByKwsOrid(keyWords, SE.Decode4Hex(in.RobotEntId))
+	res := elastic.GetAllByNgram(C.Es.Index, C.Es.Type, query, "", "", searchField, 0, 3, 0, false)
 
-		if res != nil && len(*res) > 0 {
-			for _, val := range *res {
-				answers = append(answers, &knowledgeclient.Question{
-					Question: cm.ObjToString(val["question"]),
-					Answer:   cm.ObjToString(val["answer"]),
-				})
-			}
+	if res != nil && len(*res) > 0 {
+		for _, val := range *res {
+			answers = append(answers, &knowledgeclient.Question{
+				Question: cm.ObjToString(val["question"]),
+				Answer:   cm.ObjToString(val["answer"]),
+			})
 		}
-		result.ErrorCode = 0
-		result.ErrorMsg = "请求成功"
-		result.Data = answers
-	} else {
-		result.ErrorCode = -1
-		result.ErrorMsg = "分词出错"
-		result.Data = answers
 	}
+	result.ErrorCode = 0
+	result.ErrorMsg = "请求成功"
+	result.Data = answers
 	return result, nil
 }

+ 3 - 3
rpc/knowledge/test/knowledge_test.go

@@ -83,8 +83,8 @@ func Test_FindAnswer(t *testing.T) {
 	ctx, _ := context.WithTimeout(context.Background(), 10*time.Second)
 	TestSystem := knowledgeclient.NewKnowledge(zrpc.MustNewClient(c.TestConf))
 	req := &knowledgeclient.FindAnswerReq{}
-	req.Question = "使用JsonConvert对象的SerializeObject只是简单地将一个list或集合转换为json字符串。但是,有的时候我们的前端框架比如ExtJs对服务端返回的数据格式是有一定要求的"
-	req.RobotEntId = 14676
+	req.Question = "专注招投标大数据服务,运用AI、云计算、数据挖掘分析等先进技术"
+	req.RobotEntId = "455b415651"
 	req.Type = 1
 	res, err := TestSystem.FindAnswer(ctx, req)
 	log.Println("res ", res)
@@ -96,7 +96,7 @@ func Test_RecommendAnswer(t *testing.T) {
 	TestSystem := knowledgeclient.NewKnowledge(zrpc.MustNewClient(c.TestConf))
 	req := &knowledgeclient.FindAnswerReq{}
 	req.Question = "超级订阅用户权益有订阅设置"
-	req.RobotEntId = 10000
+	req.RobotEntId = "10000"
 	req.Type = 1
 	res, err := TestSystem.RecommendAnswer(ctx, req)
 	log.Println("res ", res)