|
|
@@ -2,7 +2,7 @@ wukongd
|
|
|
========
|
|
|
wukongd 是基于 [wukong](https://github.com/huichen/wukong) 的搜索引擎。作为独立的服务进程运行
|
|
|
|
|
|
-* 文档 Id (docId) 由 uint64 改为 string 类型。
|
|
|
+* 增加接口函数 IndexDocumentS 文档 Id (docId) 为 string 类型。
|
|
|
* 增加 REST RPC 接口。
|
|
|
* 增加 wukongd.conf 配置文件 (toml 格式)。
|
|
|
|
|
|
@@ -52,12 +52,6 @@ wukongd TODO
|
|
|
- stat
|
|
|
- if index exists already
|
|
|
|
|
|
-TODO
|
|
|
-=====
|
|
|
-
|
|
|
-* 定义配置文件内容
|
|
|
-* 定义 API 协议
|
|
|
-
|
|
|
悟空全文搜索引擎
|
|
|
======
|
|
|
|
|
|
@@ -85,36 +79,44 @@ go get -u -v github.com/huichen/wukong
|
|
|
|
|
|
先看一个例子(来自[examples/simplest_example.go](/examples/simplest_example.go))
|
|
|
```go
|
|
|
+/*
|
|
|
+
|
|
|
+没有比这个更简单的例子了。
|
|
|
+
|
|
|
+*/
|
|
|
+
|
|
|
package main
|
|
|
|
|
|
import (
|
|
|
+ "log"
|
|
|
+
|
|
|
"github.com/huichen/wukong/engine"
|
|
|
"github.com/huichen/wukong/types"
|
|
|
- "log"
|
|
|
)
|
|
|
|
|
|
var (
|
|
|
- // searcher是协程安全的
|
|
|
+ // searcher是线程安全的
|
|
|
searcher = engine.Engine{}
|
|
|
)
|
|
|
|
|
|
func main() {
|
|
|
// 初始化
|
|
|
searcher.Init(types.EngineInitOptions{
|
|
|
- SegmenterDictionaries: "github.com/huichen/wukong/data/dictionary.txt"})
|
|
|
+ SegmenterDictionaries: "../data/dictionary.txt"})
|
|
|
defer searcher.Close()
|
|
|
|
|
|
// 将文档加入索引,docId 从1开始
|
|
|
- searcher.IndexDocument(1, types.DocumentIndexData{Content: "此次百度收购将成中国互联网最大并购"}, false)
|
|
|
- searcher.IndexDocument(2, types.DocumentIndexData{Content: "百度宣布拟全资收购91无线业务"}, false)
|
|
|
- searcher.IndexDocument(3, types.DocumentIndexData{Content: "百度是中国最大的搜索引擎"}, false)
|
|
|
+ searcher.IndexDocumentS("db:table:1", types.DocumentIndexData{Content: "此次百度收购将成中国互联网最大并购"}, false)
|
|
|
+ searcher.IndexDocumentS("db:table:2", types.DocumentIndexData{Content: "百度宣布拟全资收购91无线业务"}, false)
|
|
|
+ searcher.IndexDocumentS("db:table:3", types.DocumentIndexData{Content: "百度是中国最大的搜索引擎"}, false)
|
|
|
|
|
|
// 等待索引刷新完毕
|
|
|
searcher.FlushIndex()
|
|
|
|
|
|
// 搜索输出格式见types.SearchResponse结构体
|
|
|
- log.Print(searcher.Search(types.SearchRequest{Text:"百度中国"}))
|
|
|
+ log.Print(searcher.Search(types.SearchRequest{Text: "百度中国"}))
|
|
|
}
|
|
|
+
|
|
|
```
|
|
|
|
|
|
是不是很简单!
|