github.com/busyfree/gojieba-bleve@v1.0.3/analyzer.go (about) 1 package jbleve 2 3 import ( 4 "errors" 5 6 "github.com/blevesearch/bleve/v2/analysis" 7 "github.com/blevesearch/bleve/v2/registry" 8 ) 9 10 type JiebaAnalyzer struct { 11 } 12 13 func analyzerConstructor(config map[string]interface{}, cache *registry.Cache) (*analysis.Analyzer, error) { 14 tokenizerName, ok := config["tokenizer"].(string) 15 if !ok { 16 return nil, errors.New("must specify tokenizer") 17 } 18 tokenizer, err := cache.TokenizerNamed(tokenizerName) 19 if err != nil { 20 return nil, err 21 } 22 alz := &analysis.Analyzer{ 23 Tokenizer: tokenizer, 24 } 25 return alz, nil 26 } 27 28 func init() { 29 registry.RegisterAnalyzer("gojieba", analyzerConstructor) 30 }