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  }