wangchuanjin 7 年之前
父節點
當前提交
b0b83b7f09
共有 1 個文件被更改,包括 37 次插入0 次删除
  1. 37 0
      common/src/qfw/util/elastic/elasticutil.go

+ 37 - 0
common/src/qfw/util/elastic/elasticutil.go

@@ -1,6 +1,7 @@
 package elastic
 
 import (
+	"net/url"
 	"os"
 	"runtime"
 	"sync"
@@ -1317,3 +1318,39 @@ func GetAllByIk(index, itype, qstr, findfields, order, fields string, start, lim
 		return nil
 	}
 }
+
+//分词
+func AnalyzerWord(index, word string) (result []string) {
+	client := GetEsConn()
+	defer DestoryEsConn(client)
+	result = []string{}
+	p := url.Values{}
+	p["text"] = []string{word}
+	p["analyzer"] = []string{"ik"}
+	by, err := client.PerformRequest("GET", "/"+index+"/_analyze", p, nil)
+	if err != nil {
+		log.Println("AnalyzerWord Error:", err)
+		return
+	}
+	b, err := by.Body.MarshalJSON()
+	if err != nil {
+		log.Println("AnalyzerWord MarshalJSON Error:", err)
+		return
+	}
+	var res map[string][]map[string]interface{}
+	err = json.Unmarshal(b, &res)
+	if err != nil {
+		log.Println("AnalyzerWord Unmarshal Error:", err)
+		return
+	}
+	if res == nil {
+		return
+	}
+	for _, v := range res["tokens"] {
+		token, _ := v["token"].(string)
+		if token != "" {
+			result = append(result, token)
+		}
+	}
+	return
+}