From 4b0ca9ae49aeddc7496de6e2ed98544c2fa9a463 Mon Sep 17 00:00:00 2001
From: jiangshuai <291802688@qq.com>
Date: 星期一, 11 十二月 2023 18:02:43 +0800
Subject: [PATCH] 研发出入库明细列表接口服务
---
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