Browse Source

修改索引版本

rdluck 3 years ago
parent
commit
17dcc4e13c
7 changed files with 70 additions and 18 deletions
  1. 1 1
      controllers/search.go
  2. 1 1
      controllers/user.go
  3. 8 0
      models/tactics.go
  4. 2 2
      services/elastic.go
  5. 49 0
      services/tactics.go
  6. 8 11
      services/task.go
  7. 1 3
      utils/config.go

+ 1 - 1
controllers/search.go

@@ -66,7 +66,7 @@ func (this *SearchController) SearchList() {
 	*/
 	//indexName := "article_list"
 	indexName := utils.IndexName
-	result, total, err := services.EsMultiMatchFunctionScoreQuery(indexName, keyWord, startSize, pageSize) //services.EsMatchFunctionScoreQuery(indexName, keyWord, startSize, pageSize) //services.EsMatchQuery(indexName, keyWord)
+	result, total, err := services.EsMultiMatchFunctionScoreQuery(indexName, keyWord, startSize, pageSize,user.UserId) //services.EsMatchFunctionScoreQuery(indexName, keyWord, startSize, pageSize) //services.EsMatchQuery(indexName, keyWord)
 	//result, total, err := services.EsMultiMatchFunctionScoreQueryFix(indexName, keyWord, startSize, pageSize)
 	if err != nil {
 		br.Msg = "检索失败"

+ 1 - 1
controllers/user.go

@@ -942,4 +942,4 @@ func (this *UserController) ApplyTryOut() {
 //	services.SendPermissionApplyTemplateMsg(realName, companyName, mobile, openId, applyMethod)
 //	return
 //	fmt.Println("end")
-//}
+//}

+ 8 - 0
models/tactics.go

@@ -50,3 +50,11 @@ func GetTacticsListAll() (list []*Tactics, err error) {
 	_, err = o.Raw(sql).QueryRows(&list)
 	return
 }
+
+
+func GetCygxArticleListAll() (list []*Tactics, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM cygx_article `
+	_, err = o.Raw(sql).QueryRows(&list)
+	return
+}

+ 2 - 2
services/elastic.go

@@ -383,7 +383,7 @@ func EsMatchFunctionScoreQuery(indexName, keyWord string, startSize, pageSize in
 	return
 }
 
-func EsMultiMatchFunctionScoreQuery(indexName, keyWord string, startSize, pageSize int) (result []*models.SearchItem, total int64, err error) {
+func EsMultiMatchFunctionScoreQuery(indexName, keyWord string, startSize, pageSize, userId int) (result []*models.SearchItem, total int64, err error) {
 	client, err := NewClient()
 	keyWordArr, err := GetIndustryMapNameSliceV2(keyWord)
 
@@ -397,7 +397,7 @@ func EsMultiMatchFunctionScoreQuery(indexName, keyWord string, startSize, pageSi
 		keyWordArr = append(keyWordArr, keyWord)
 		keyWordLen = len(keyWordArr)
 	}
-	fmt.Println("keyWordArr:", keyWordArr)
+	utils.FileLog.Info("SearchKeyWord:%s, userId:%s", keyWordArr, strconv.Itoa(userId))
 	keyWordWeight := GetWeight(keyWordLen)
 	for k, v := range keyWordArr {
 		if v != "" {

+ 49 - 0
services/tactics.go

@@ -131,6 +131,55 @@ func SyncTacticsList() (err error) {
 	return
 }
 
+
+
+//同步策略文章
+func SyncCygxArticleList() (err error) {
+	defer func() {
+		if err != nil {
+			fmt.Println("同步失败,Err:", err.Error())
+		}
+	}()
+	fmt.Println("同步数据")
+	indexName := utils.IndexName
+	fmt.Println("indexName:",indexName)
+	time.Sleep(5*time.Second)
+	list, err := models.GetCygxArticleListAll()
+	if err != nil {
+		fmt.Println("GetTacticsList Err:", err.Error())
+		return
+	}
+	fmt.Println("list len:", len(list))
+
+	for k, v := range list {
+		v.Department = "弘则权益研究"
+		fmt.Println(k, v.ArticleId)
+		//判断是否已经存在
+		if v.ArticleId < 0 {
+			fmt.Println("参数错误")
+			return err
+		}
+
+		content := html.UnescapeString(v.Body)
+		doc, err := goquery.NewDocumentFromReader(strings.NewReader(content))
+		if err != nil {
+			fmt.Println("create doc err:", err.Error())
+			return err
+		}
+		doc.Find("a").Each(func(i int, a *goquery.Selection) {
+			a.Remove()
+		})
+		bodyText := doc.Text()
+		item := new(ElasticTestArticleDetail)
+		item.ArticleId = v.ArticleId
+		item.Title = v.Title
+		item.BodyText = bodyText
+		item.PublishDate = v.PublishDate.Format(utils.FormatDateTime)
+		EsAddOrEditData(indexName, strconv.Itoa(v.ArticleId), item)
+	}
+	return
+}
+
 //body 解析
 func BodyAnalysis(body string) (expertNumStr, expertContentStr, interviewDateStr string) {
 	body = html.UnescapeString(body)

+ 8 - 11
services/task.go

@@ -4,6 +4,7 @@ import (
 	"fmt"
 	"github.com/astaxie/beego/toolbox"
 	"hongze/hongze_cygx/utils"
+
 	//"github.com/astaxie/beego/cache"
 )
 
@@ -15,8 +16,7 @@ func Task() {
 		toolbox.AddTask("syncTacticsList", syncTacticsList)
 		toolbox.StartTask()
 	}
-	//SyncTacticsList()
-	//CreateIndex()
+	//SyncCygxArticleList()
 	fmt.Println("end")
 }
 
@@ -171,9 +171,9 @@ searchItem.ArticleId, _ = strconv.Atoi(v.Id)
 searchItem.Body = v.Highlight["BodyText"]
 searchItem.Title = title
 searchItem.PublishDate = article.PublishDate
- */
+*/
 func CreateIndex() {
-	indexName := "cygx_article_test"//utils.IndexName
+	indexName := "cygx_article_test" //utils.IndexName
 	mappingJson := `{
   "mappings": {
     "dynamic": true,
@@ -210,7 +210,6 @@ func CreateIndex() {
 	EsCreateIndex(indexName, mappingJson)
 }
 
-
 // "term_vector": "with_positions_offsets"
 
 type ElasticArticleDetail struct {
@@ -231,11 +230,9 @@ type ElasticArticleDetail struct {
 	BodyText         string `description:"内容"`
 }
 
-
 type ElasticTestArticleDetail struct {
-	ArticleId        int    `description:"报告id"`
-	Title            string `description:"标题"`
-	BodyText         string `description:"内容"`
-	PublishDate      string `description:"发布时间"`
+	ArticleId   int    `description:"报告id"`
+	Title       string `description:"标题"`
+	BodyText    string `description:"内容"`
+	PublishDate string `description:"发布时间"`
 }
-

+ 1 - 3
utils/config.go

@@ -57,8 +57,7 @@ func init() {
 		WxPublicAppId = "wx4a844c734d8c8e56"
 		WxPublicAppSecret = "26c586e7ccb3c575433f0f37797b3eeb"
 		WxPublicId = "gh_b67e0049fb8c"
-		IndexName="cygx_article"
-
+		IndexName="cygx_article_v1"
 	} else {
 		WxAppId = "wxcc32b61f96720d2f"
 		WxAppSecret = "06894933fafb24dafead7eaae09c08e0"
@@ -72,7 +71,6 @@ func init() {
 		WxPublicAppId = "wx9b5d7291e581233a"
 		WxPublicAppSecret = "f4d52e34021eee262dce9682b31f8861"
 		WxPublicId = "gh_5dc508325c6f"
-
 		IndexName="test_article"
 	}
 }