renjiaojiao 3 éve
szülő
commit
bd750e856f

+ 0 - 25
Makefile

@@ -1,25 +0,0 @@
-SHELL=cmd
-.PHONY: all
-all:  fmt tidy lint
-genRpc:
-	cd rpc/social && goctl rpc protoc social.proto --go_out=./ --go-grpc_out=./ --zrpc_out=.
-	@echo "===========> genRpc finish"
-
-genApi:
-	cd api/social && goctl api go -api social.api -dir .
-	@echo "===========> genApi finish"
-
-fmt:
-	go fmt ./...
-	@echo "===========> fmt finish"
-tidy:
-	go mod tidy
-	@echo "===========> tidy finish"
-
-lint:
-	@echo "===========> Run golangci to lint source codes"
-	@golangci-lint run
-
-cover:
-	@echo "===========> Run go test "
-	cd rpc/social/internal/service &&  go test -v -coverprofile=coverage   && go tool cover -html=coverage -o coverage.html

+ 0 - 2
go.sum

@@ -18,8 +18,6 @@ bp.jydev.jianyu360.cn/BaseService/resourceCenter v0.0.0-20220419063004-233fc7ce0
 bp.jydev.jianyu360.cn/BaseService/resourceCenter v0.0.0-20220420075831-0b59892e9982/go.mod h1:wsHNO91h37H+xE4ZNny0yd7mtpODeDJxbVYhIRMR+qw=
 bp.jydev.jianyu360.cn/BaseService/userCenter v0.0.0-20220418072311-2062bed1e700/go.mod h1:KjcrxTzM96tBc6G4B8tlLBn1lrVy5UJYF8+eTdP4xAE=
 bp.jydev.jianyu360.cn/BaseService/userCenter v0.0.0-20220421015128-4a36f3eac5c5/go.mod h1:GT0QC4aaKDuXxAvaU4G02XjCc31TU1ctqBGqxQYOfC4=
-bp.jydev.jianyu360.cn/BaseService/userCenter v0.0.0-20220531020415-f7eea604490e h1:qd9c+9f9LoQCkufF/giG7iT3wlWNokHEcMmTLw02ul0=
-bp.jydev.jianyu360.cn/BaseService/userCenter v0.0.0-20220531020415-f7eea604490e/go.mod h1:6TePXVLkKusfyXhYOqL2qvT+uvu2uvhyw8CdOOsIdDQ=
 bp.jydev.jianyu360.cn/BaseService/userCenter v0.0.0-20220704032709-ba714ee655b0 h1:HGLTJI3NH4u1R6NPdslZsVtkhGKwDJFhyGiMjtXpWuc=
 bp.jydev.jianyu360.cn/BaseService/userCenter v0.0.0-20220704032709-ba714ee655b0/go.mod h1:6TePXVLkKusfyXhYOqL2qvT+uvu2uvhyw8CdOOsIdDQ=
 cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=

+ 14 - 12
rpc/knowledge/init/init.go

@@ -15,16 +15,18 @@ import (
 	"log"
 )
 
+var C config.Config
+var Logc entity.Logc
+
 var configF = flag.String("ff", "etc/knowledge.yaml", "the config file")
 
 //
 var logFile = flag.String("lf", "etc/logs.yaml", "the config file")
-var logc entity.Logc
 
 func init() {
-	conf.MustLoad(*configF, &config.C)
+	conf.MustLoad(*configF, &C)
 	//初始化mysql
-	mm := config.C.MysqlMain
+	mm := C.MysqlMain
 	if mm.Address != "" {
 		log.Println("--初始化 mysql--")
 		entity.Mysql = &mysql.Mysql{
@@ -39,7 +41,7 @@ func init() {
 	}
 
 	//初始化 elasticsearch
-	es := config.C.Es
+	es := C.Es
 	if es.Addr != "" {
 		log.Println("--初始化 elasticsearch--")
 		log.Println(es.Addr, es.Size)
@@ -47,14 +49,14 @@ func init() {
 	}
 
 	//初始化日志信息
-	conf.MustLoad(*logFile, &logc)
-	if len(logc.Level) > 0 {
-		for _, v := range logc.Level {
+	conf.MustLoad(*logFile, &Logc)
+	if len(Logc.Level) > 0 {
+		for _, v := range Logc.Level {
 			logx.MustSetup(logx.LogConf{
-				Mode:     logc.Mode,
-				Path:     logc.Path,
+				Mode:     Logc.Mode,
+				Path:     Logc.Path,
 				Level:    v,
-				KeepDays: logc.KeepDays,
+				KeepDays: Logc.KeepDays,
 			})
 			logx.Info(v, "--日志记录")
 		}
@@ -62,8 +64,8 @@ func init() {
 	//初始化资源中台相关
 	userCenterClient := zrpc.MustNewClient(zrpc.RpcClientConf{
 		Etcd: discov.EtcdConf{
-			Hosts: config.C.UserCenterConf.Etcd.Hosts,
-			Key:   config.C.UserCenterConf.Etcd.Key,
+			Hosts: C.UserCenterConf.Etcd.Hosts,
+			Key:   C.UserCenterConf.Etcd.Key,
 		},
 	})
 	entity.UserCenterLib = usercenter.NewUserCenter(userCenterClient)

+ 0 - 2
rpc/knowledge/internal/config/config.go

@@ -5,8 +5,6 @@ import (
 	"github.com/zeromicro/go-zero/zrpc"
 )
 
-var C Config
-
 type Config struct {
 	zrpc.RpcServerConf
 	WebRpcPort     int64

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

@@ -1,6 +1,7 @@
 package logic
 
 import (
+	. "bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/init"
 	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/service"
 	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/svc"
 	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/knowledgeclient"
@@ -25,7 +26,7 @@ func NewFindAnswerLogic(ctx context.Context, svcCtx *svc.ServiceContext) *FindAn
 func (l *FindAnswerLogic) FindAnswer(in *knowledgeclient.FindAnswerReq) (*knowledgeclient.FindAnswerResp, error) {
 
 	k := service.KnowledgeService{}
-	question := k.FindAnswer(in)
+	question := k.FindAnswer(in, C.Es.Addr, C.Es.Index, C.Segment)
 	return &knowledgeclient.FindAnswerResp{
 		ErrorCode: 0,
 		ErrorMsg:  "请求成功",

+ 2 - 1
rpc/knowledge/internal/logic/knowledgeaddlogic.go

@@ -1,6 +1,7 @@
 package logic
 
 import (
+	. "bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/init"
 	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/service"
 	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/svc"
 	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/knowledgeclient"
@@ -31,7 +32,7 @@ type Question struct {
 func (l *KnowledgeAddLogic) KnowledgeAdd(in *knowledgeclient.AddRequest) (*knowledgeclient.AddResponse, error) {
 	result := &knowledgeclient.AddResponse{}
 	k := service.KnowledgeService{}
-	ok, msg, err := k.KnowledgeAdd(in)
+	ok, msg, err := k.KnowledgeAdd(in, C.Segment)
 	if !ok && err != nil {
 		result.ErrorCode = -1
 		result.ErrorMsg = msg

+ 2 - 1
rpc/knowledge/internal/logic/knowledgeeditlogic.go

@@ -1,6 +1,7 @@
 package logic
 
 import (
+	. "bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/init"
 	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/service"
 	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/svc"
 	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/knowledgeclient"
@@ -27,7 +28,7 @@ func (l *KnowledgeEditLogic) KnowledgeEdit(in *knowledgeclient.KnowledgeEditReq)
 
 	result := &knowledgeclient.AddResponse{}
 	k := service.KnowledgeService{}
-	ok, msg, err := k.KnowledgeEdit(in)
+	ok, msg, err := k.KnowledgeEdit(in, C.Segment)
 	if !ok && err != nil {
 		result.ErrorCode = -1
 		result.ErrorMsg = msg

+ 2 - 1
rpc/knowledge/internal/logic/recommendanswerlogic.go

@@ -1,6 +1,7 @@
 package logic
 
 import (
+	. "bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/init"
 	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/service"
 	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/svc"
 	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/knowledgeclient"
@@ -25,7 +26,7 @@ func NewRecommendAnswerLogic(ctx context.Context, svcCtx *svc.ServiceContext) *R
 func (l *RecommendAnswerLogic) RecommendAnswer(in *knowledgeclient.FindAnswerReq) (*knowledgeclient.RecommendAnswerResp, error) {
 	var result = &knowledgeclient.RecommendAnswerResp{}
 	k := service.KnowledgeService{}
-	answers := k.RecommendAnswer(in)
+	answers := k.RecommendAnswer(in, C.Segment)
 	result.ErrorCode = 0
 	result.ErrorMsg = "请求成功"
 	result.Data = answers

+ 37 - 14
rpc/knowledge/internal/service/knowledgeService.go

@@ -1,13 +1,12 @@
 package service
 
+import "C"
 import (
 	cm "app.yhyue.com/moapp/jybase/common"
 	. "app.yhyue.com/moapp/jybase/encrypt"
 	elastic "app.yhyue.com/moapp/jybase/esv1"
 	"bp.jydev.jianyu360.cn/BaseService/userCenter/rpc/usercenter"
 	. "bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/entity"
-	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/config"
-
 	//. "bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/init"
 	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/knowledgeclient"
 	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/util"
@@ -27,15 +26,22 @@ var (
 	Type  = "smart"
 )
 
-func (k *KnowledgeService) KnowledgeAdd(param *knowledgeclient.AddRequest) (bool, string, error) {
+func (k *KnowledgeService) KnowledgeAdd(param *knowledgeclient.AddRequest, segment string) (bool, string, error) {
 	//先查找知识库Id
 	query := map[string]interface{}{"status": 1, "appid": param.AppId, "ent_id": param.EntId}
 	datalist := Mysql.Find(util.KNOWLEDGE, query, "id", "", -1, -1)
 	if datalist != nil && *datalist != nil && len(*datalist) > 0 {
 		//问题进行分词
-		keywords := util.HanlpGetNormalWords(param.Question, config.C.Segment)
-		if len(keywords) == 0 {
-			keywords = append(keywords, param.Question)
+		keywords := ""
+		keywordsArr := util.HanlpGetNormalWords(param.Question, segment)
+		log.Println("keywordsArr", keywordsArr)
+		if len(keywordsArr) != 0 {
+			for _, val := range keywordsArr {
+				keywords += val + " "
+			}
+		}
+		if keywords == "" {
+			keywords = param.Question
 		}
 		//通过entUserId获取创建人名称,调用用户中心
 		req := &usercenter.EntUserReq{
@@ -98,9 +104,16 @@ func (k *KnowledgeService) KnowledgeAdd(param *knowledgeclient.AddRequest) (bool
 	}
 }
 
-func (k *KnowledgeService) KnowledgeEdit(param *knowledgeclient.KnowledgeEditReq) (ok bool, msg string, err error) {
+func (k *KnowledgeService) KnowledgeEdit(param *knowledgeclient.KnowledgeEditReq, segment string) (ok bool, msg string, err error) {
 	//获取问题分词
-	keywords := util.HttpDo(param.Question)
+	keywords := ""
+	keywordsArr := util.HanlpGetNormalWords(param.Question, segment)
+	log.Println("keywordsArr", keywordsArr)
+	if len(keywordsArr) != 0 {
+		for _, val := range keywordsArr {
+			keywords += val + " "
+		}
+	}
 	if keywords == "" {
 		keywords = param.Question
 	}
@@ -233,14 +246,14 @@ func (k *KnowledgeService) KnowledgeDel(answerId int64) (ok bool, msg string) {
 	return false, "删除mysql问题失败"
 }
 
-func (k *KnowledgeService) FindAnswer(param *knowledgeclient.FindAnswerReq) *knowledgeclient.Question {
+func (k *KnowledgeService) FindAnswer(param *knowledgeclient.FindAnswerReq, addr, index, segment string) *knowledgeclient.Question {
 	var question knowledgeclient.Question
 	robotEntId := SE.Decode4Hex(param.RobotEntId)
-	logx.Info("机器人企业id:", robotEntId)
 	//组装es query
-	query := util.DSL4SmartResponse(param.Question, robotEntId, int(param.Type))
-	logx.Info("es查询:", query)
+	query := util.DSL4SmartResponse(param.Question, robotEntId, int(param.Type), addr, index, segment)
+
 	res := elastic.Get(Index, Type, query)
+	log.Println("es查询:", res)
 	if res != nil && len(*res) > 0 {
 		data := (*res)[0]
 		question.Answer = cm.ObjToString(data["answer"])
@@ -249,14 +262,24 @@ func (k *KnowledgeService) FindAnswer(param *knowledgeclient.FindAnswerReq) *kno
 	return &question
 }
 
-func (k *KnowledgeService) RecommendAnswer(param *knowledgeclient.FindAnswerReq) []*knowledgeclient.Question {
+func (k *KnowledgeService) RecommendAnswer(param *knowledgeclient.FindAnswerReq, segment string) []*knowledgeclient.Question {
 	var (
 		keyWords    = ""
 		searchField = `"answer","question"`
 		answers     []*knowledgeclient.Question
 	)
 	//根据问题进行分词
-	keyWords = util.HttpDo(param.Question)
+	keywords := ""
+	keywordsArr := util.HanlpGetNormalWords(param.Question, segment)
+	log.Println("keywordsArr", keywordsArr)
+	if len(keywordsArr) != 0 {
+		for _, val := range keywordsArr {
+			keywords += val + " "
+		}
+	}
+	if keywords == "" {
+		keywords = param.Question
+	}
 	log.Println("问题分词关键字:", keyWords)
 	var query = util.DSL4SearchByKwsOrid(keyWords, SE.Decode4Hex(param.RobotEntId))
 	res := elastic.GetAllByNgram(Index, Type, query, "", "", searchField, 0, 3, 0, false)

+ 15 - 48
rpc/knowledge/internal/service/knowledgeService_test.go

@@ -1,30 +1,17 @@
 package service
 
 import (
-	"app.yhyue.com/moapp/jybase/mysql"
-	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/entity"
 	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/knowledgeclient"
 	"reflect"
 	"testing"
 )
 
-func initMysql() {
-	entity.Mysql = &mysql.Mysql{
-		Address:      "192.168.3.217:4000",
-		UserName:     "root",
-		PassWord:     "=PDT49#80Z!RVv52_z",
-		DBName:       "base_service",
-		MaxOpenConns: 5,
-		MaxIdleConns: 5,
-	}
-	entity.Mysql.Init()
-}
-func init() {
-	initMysql()
-}
 func TestKnowledgeService_FindAnswer(t *testing.T) {
 	type args struct {
-		param *knowledgeclient.FindAnswerReq
+		param   *knowledgeclient.FindAnswerReq
+		addr    string
+		index   string
+		segment string
 	}
 	tests := []struct {
 		name string
@@ -32,31 +19,11 @@ func TestKnowledgeService_FindAnswer(t *testing.T) {
 		want *knowledgeclient.Question
 	}{
 		// TODO: Add test cases.
-		{
-			name: "查询",
-			args: args{
-				param: &knowledgeclient.FindAnswerReq{
-					Question:   "",
-					Type:       1,
-					RobotEntId: "111",
-				},
-			},
-		},
-		{
-			name: "查询",
-			args: args{
-				param: &knowledgeclient.FindAnswerReq{
-					Question:   "",
-					Type:       2,
-					RobotEntId: "111",
-				},
-			},
-		},
 	}
 	for _, tt := range tests {
 		t.Run(tt.name, func(t *testing.T) {
 			k := &KnowledgeService{}
-			if got := k.FindAnswer(tt.args.param); !reflect.DeepEqual(got, tt.want) {
+			if got := k.FindAnswer(tt.args.param, tt.args.addr, tt.args.index, tt.args.segment); !reflect.DeepEqual(got, tt.want) {
 				t.Errorf("FindAnswer() = %v, want %v", got, tt.want)
 			}
 		})
@@ -65,7 +32,8 @@ func TestKnowledgeService_FindAnswer(t *testing.T) {
 
 func TestKnowledgeService_KnowledgeAdd(t *testing.T) {
 	type args struct {
-		param *knowledgeclient.AddRequest
+		param   *knowledgeclient.AddRequest
+		segment string
 	}
 	tests := []struct {
 		name    string
@@ -79,7 +47,7 @@ func TestKnowledgeService_KnowledgeAdd(t *testing.T) {
 	for _, tt := range tests {
 		t.Run(tt.name, func(t *testing.T) {
 			k := &KnowledgeService{}
-			got, got1, err := k.KnowledgeAdd(tt.args.param)
+			got, got1, err := k.KnowledgeAdd(tt.args.param, tt.args.segment)
 			if (err != nil) != tt.wantErr {
 				t.Errorf("KnowledgeAdd() error = %v, wantErr %v", err, tt.wantErr)
 				return
@@ -122,7 +90,8 @@ func TestKnowledgeService_KnowledgeDel(t *testing.T) {
 
 func TestKnowledgeService_KnowledgeEdit(t *testing.T) {
 	type args struct {
-		param *knowledgeclient.KnowledgeEditReq
+		param   *knowledgeclient.KnowledgeEditReq
+		segment string
 	}
 	tests := []struct {
 		name    string
@@ -136,7 +105,7 @@ func TestKnowledgeService_KnowledgeEdit(t *testing.T) {
 	for _, tt := range tests {
 		t.Run(tt.name, func(t *testing.T) {
 			k := &KnowledgeService{}
-			gotOk, gotMsg, err := k.KnowledgeEdit(tt.args.param)
+			gotOk, gotMsg, err := k.KnowledgeEdit(tt.args.param, tt.args.segment)
 			if (err != nil) != tt.wantErr {
 				t.Errorf("KnowledgeEdit() error = %v, wantErr %v", err, tt.wantErr)
 				return
@@ -161,10 +130,7 @@ func TestKnowledgeService_KnowledgeInfo(t *testing.T) {
 		wantData *knowledgeclient.KnowledgeEntity
 		wantOk   bool
 	}{
-		{
-			name: "查询",
-			args: args{answerId: 30113},
-		},
+		// TODO: Add test cases.
 	}
 	for _, tt := range tests {
 		t.Run(tt.name, func(t *testing.T) {
@@ -203,7 +169,8 @@ func TestKnowledgeService_KnowledgeList(t *testing.T) {
 
 func TestKnowledgeService_RecommendAnswer(t *testing.T) {
 	type args struct {
-		param *knowledgeclient.FindAnswerReq
+		param   *knowledgeclient.FindAnswerReq
+		segment string
 	}
 	tests := []struct {
 		name string
@@ -215,7 +182,7 @@ func TestKnowledgeService_RecommendAnswer(t *testing.T) {
 	for _, tt := range tests {
 		t.Run(tt.name, func(t *testing.T) {
 			k := &KnowledgeService{}
-			if got := k.RecommendAnswer(tt.args.param); !reflect.DeepEqual(got, tt.want) {
+			if got := k.RecommendAnswer(tt.args.param, tt.args.segment); !reflect.DeepEqual(got, tt.want) {
 				t.Errorf("RecommendAnswer() = %v, want %v", got, tt.want)
 			}
 		})

+ 4 - 5
rpc/knowledge/knowledge.go

@@ -3,15 +3,14 @@ package main
 import (
 	mc "app.yhyue.com/moapp/jybase/common"
 	"app.yhyue.com/moapp/jybase/endless"
-	IC "bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/config"
+	IC "bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/init"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/server"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/svc"
+	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/knowledge"
 	"fmt"
 	"github.com/zeromicro/go-zero/zrpc"
 	"google.golang.org/grpc"
 	"log"
-
-	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/server"
-	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/svc"
-	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/knowledge"
 )
 
 func main() {

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

@@ -24,10 +24,10 @@ func Test_KnowledgeAdd(t *testing.T) {
 	TestSystem := knowledgeclient.NewKnowledge(zrpc.MustNewClient(c.TestConf))
 	req := &knowledgeclient.AddRequest{}
 	req.AppId = "10000"
-	req.EntId = 10000
-	req.Question = "超级订阅在哪设置订阅提醒,超级订阅用户有哪些权益?"
-	req.Answer = "超级订阅用户权益有订阅设置。"
-	req.EntUserId = 123
+	req.EntId = 14929
+	req.Question = "超级订阅为什么购买不了"
+	req.Answer = "超级订阅按购买区域、时间计价,您看下购买页,是否有选择购买的省份,选择购买的区域后,系统会自动计价,您下单购买就可以了。"
+	req.EntUserId = 4315
 	res, err := TestSystem.KnowledgeAdd(ctx, req)
 	log.Println("res ", res)
 	log.Println("err ", err)

+ 3 - 4
rpc/knowledge/util/elasticsearch_dsl.go

@@ -1,7 +1,6 @@
 package util
 
 import (
-	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/config"
 	"fmt"
 	"github.com/zeromicro/go-zero/core/logx"
 	"log"
@@ -12,7 +11,7 @@ import (
 	项目中所用到的几类查询dsl语句构建工具类
 */
 
-func DSL4SmartResponse(question string, entId string, msgType int) string {
+func DSL4SmartResponse(question string, entId string, msgType int, addr, index, segment string) string {
 	var (
 		totalQuery = `{"post_filter":{%s},"query":{%s},"_source":[%s],"size":%d}`
 		postFilter = `"script":{"script":"def sk=_source.must_keywords;def n=0;for(item in sk){ n++;if(que.indexOf(item)>-1){return true}};if(n==0){ return true}","params":{"que":"%s"}}`
@@ -21,7 +20,7 @@ func DSL4SmartResponse(question string, entId string, msgType int) string {
 	var typeStr string
 	/*1.首先将问题使用hanlp分词*/
 	//hanlpCutWords := HanlpGetNormalWords(question, "http://39.106.145.77:8080/api/segment")
-	hanlpCutWords := HanlpGetNormalWords(question, config.C.Segment)
+	hanlpCutWords := HanlpGetNormalWords(question, segment)
 	log.Println("hanlp分词结果:", hanlpCutWords)
 	if len(hanlpCutWords) == 0 {
 		hanlpCutWords = append(hanlpCutWords, question)
@@ -45,7 +44,7 @@ func DSL4SmartResponse(question string, entId string, msgType int) string {
 		}
 		/*2使用sik分词将问题分词以获取更多查询词语*/
 		//mustque := ElasticSmartIK(question, "http://39.106.145.77:9201/smart/_analyze")
-		mustque := ElasticSmartIK(question, config.C.Es.Addr+"/"+config.C.Es.Index+"/_analyze")
+		mustque := ElasticSmartIK(question, addr+"/"+index+"/_analyze")
 		if mustque != "" {
 			postFilter = fmt.Sprintf(postFilter, mustque)
 		}

+ 3 - 3
rpc/knowledge/util/hanlp.go

@@ -2,7 +2,7 @@ package util
 
 import (
 	cm "app.yhyue.com/moapp/jybase/common"
-	"bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/config"
+	. "bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/init"
 	"encoding/base64"
 	"encoding/json"
 	"io/ioutil"
@@ -115,14 +115,14 @@ func ElasticSmartIK(words, urls string) (res string) {
 }
 
 // HttpDo smartInfo中用到,对问题分词
-func HttpDo(ques string) (result string) {
+func HttpDo(ques string, url string) (result string) {
 	var (
 		kwMap    []map[string]interface{}
 		keyWords = ""
 	)
 	client := &http.Client{}
 	//req, err := http.NewRequest("POST", "http://39.106.145.77:8080/api/segment", strings.NewReader("content="+ques))
-	req, err := http.NewRequest("POST", config.C.Segment, strings.NewReader("content="+ques))
+	req, err := http.NewRequest("POST", C.Segment, strings.NewReader("content="+ques))
 	if err != nil {
 		log.Println("问题分词出错err1:", err)
 		return ""