From a6a6045065169ab56c7d44ea32dce743d940e840 Mon Sep 17 00:00:00 2001 From: jiangshuai <291802688@qq.com> Date: 星期五, 08 十二月 2023 11:15:19 +0800 Subject: [PATCH] collection改为固定12345 --- pkg/blevex/bleve.go | 36 ++++++++++++------------------------ 1 files changed, 12 insertions(+), 24 deletions(-) diff --git a/pkg/blevex/bleve.go b/pkg/blevex/bleve.go index 3afe948..08fe999 100644 --- a/pkg/blevex/bleve.go +++ b/pkg/blevex/bleve.go @@ -4,43 +4,34 @@ "fmt" "github.com/blevesearch/bleve/v2" "github.com/blevesearch/bleve/v2/mapping" - "github.com/yanyiwu/gojieba" "sync" ) -// InitAnalyzer 鍔犺浇鑷畾涔夊垎璇嶅櫒锛堢粨宸村垎璇嶏級 +// InitAnalyzer 鍔犺浇鑷畾涔夊垎璇嶅櫒锛坰ego锛� var defaultAnalyzer *mapping.IndexMappingImpl func InitAnalyzer() { indexMapping := bleve.NewIndexMapping() - //os.RemoveAll(IndexDir) - //// clean index when example finished - //defer os.RemoveAll(IndexDir) - - err := indexMapping.AddCustomTokenizer("gojieba", + err := indexMapping.AddCustomTokenizer("sego", map[string]interface{}{ - "dictpath": gojieba.DICT_PATH, - "hmmpath": gojieba.HMM_PATH, - "userdictpath": gojieba.USER_DICT_PATH, - "idf": gojieba.IDF_PATH, - "stop_words": gojieba.STOP_WORDS_PATH, - "type": "gojieba", + "dictpath": "conf/dictionary.txt", // 鏇挎崲涓哄疄闄呯殑瀛楀吀璺緞 + "type": "sego", }, ) if err != nil { panic(err) } - err = indexMapping.AddCustomAnalyzer("gojieba", + err = indexMapping.AddCustomAnalyzer("sego", map[string]interface{}{ - "type": "gojieba", - "tokenizer": "gojieba", + "type": "sego", + "tokenizer": "sego", }, ) if err != nil { panic(err) } - indexMapping.DefaultAnalyzer = "gojieba" + indexMapping.DefaultAnalyzer = "sego" defaultAnalyzer = indexMapping } @@ -78,7 +69,7 @@ if err != nil { return } - req := bleve.NewSearchRequest(bleve.NewQueryStringQuery(keyword)) + req := bleve.NewSearchRequest(bleve.NewMatchQuery(keyword)) req.From = from req.Size = size res, err := index.Search(req) @@ -102,15 +93,12 @@ // Create a boolean query with a should clause for fuzzy search boolQuery := bleve.NewBooleanQuery() - - fuzzyQuery := bleve.NewFuzzyQuery(keyword) - fuzzyQuery.SetFuzziness(2) // Set the fuzziness level as needed - - boolQuery.AddShould(fuzzyQuery) + fuzzyQuery := bleve.NewMatchQuery(keyword) + boolQuery.AddMust(fuzzyQuery) // Add a must clause for category filtering for key, val := range conditions { - query := bleve.NewQueryStringQuery(fmt.Sprintf("%s:%s", key, val)) + query := bleve.NewQueryStringQuery(fmt.Sprintf("%v:%v", key, val)) boolQuery.AddMust(query) } req := bleve.NewSearchRequest(boolQuery) -- Gitblit v1.8.0