From 87d9f6179298568730c1e5f863665687d6938272 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Sun, 6 Nov 2022 02:11:01 +0800 Subject: [PATCH] fixed zinc search engine add documents failure --- internal/dao/search/zinc.go | 3 +-- internal/service/post.go | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/internal/dao/search/zinc.go b/internal/dao/search/zinc.go index 844db904..c038cb90 100644 --- a/internal/dao/search/zinc.go +++ b/internal/dao/search/zinc.go @@ -256,13 +256,12 @@ func (s *zincTweetSearchServant) createIndex() { } func (s *zincTweetSearchServant) toDocs(data []core.TsDocItem) []map[string]any { - docs := make([]map[string]any, len(data)) + docs := make([]map[string]any, 0, len(data)) for _, d := range data { tagMaps := map[string]int8{} for _, tag := range strings.Split(d.Post.Tags, ",") { tagMaps[tag] = 1 } - docs = append(docs, map[string]any{ "id": d.Post.ID, "user_id": d.Post.UserID, diff --git a/internal/service/post.go b/internal/service/post.go index 3d76f1f4..c8bda6b8 100644 --- a/internal/service/post.go +++ b/internal/service/post.go @@ -502,6 +502,8 @@ func DeleteSearchPost(post *model.Post) error { func PushPostsToSearch(c *gin.Context) { if ok, _ := conf.Redis.SetNX(c, "JOB_PUSH_TO_SEARCH", 1, time.Hour).Result(); ok { + defer conf.Redis.Del(c, "JOB_PUSH_TO_SEARCH") + splitNum := 1000 totalRows, _ := GetPostCount(&model.ConditionsT{ "visibility IN ?": []model.PostVisibleT{model.PostVisitPublic, model.PostVisitFriend}, @@ -533,8 +535,6 @@ func PushPostsToSearch(c *gin.Context) { ts.AddDocuments(docs, fmt.Sprintf("%d", posts[i].ID)) } } - - conf.Redis.Del(c, "JOB_PUSH_TO_SEARCH") } }