segment.go 870 Bytes
Newer Older
haoyanbin's avatar
1  
haoyanbin committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
package utils

import (
	"fmt"
	"github.com/huichen/sego"
)

var Segmenter sego.Segmenter

func SegmentsToString(data string, searchMode bool) string {
	var segmenter sego.Segmenter
	segmenter.LoadDictionary("resource/segodata/dictionary.txt")

	// 分词
	text := []byte(data)
	segments := segmenter.Segment(text)

	// 处理分词结果
	// 支持普通模式和搜索模式两种分词,见代码中SegmentsToString函数的注释。
	res := sego.SegmentsToString(segments, searchMode)
	fmt.Println(res)

	return res
}

func SegmentsToStringSearch(data string, searchMode bool) []string {
	// 分词
	text := []byte(data)
	segments := Segmenter.Segment(text)

	// 处理分词结果
	// 支持普通模式和搜索模式两种分词,见代码中SegmentsToString函数的注释。
	res := sego.SegmentsToSlice(segments, searchMode)
	fmt.Println(res)

	return res
}