jieba.go 672 B

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