wukongd is a search engine working as a standalone service, based on wukong

geili c4188105f3 允许跳过ranker,不对搜索到的文档进行排序 10 år sedan
core f14937a288 DocIds从数组变为map 10 år sedan
data 77121830e9 第一发 12 år sedan
docs 5e6a9661c0 添加docker支持 10 år sedan
engine c4188105f3 允许跳过ranker,不对搜索到的文档进行排序 10 år sedan
examples 5e6a9661c0 添加docker支持 10 år sedan
storage af2c876a7d 修正持久存储中的几个bug 10 år sedan
testdata 06da509aa0 Delete weibo_data.txt 11 år sedan
types c4188105f3 允许跳过ranker,不对搜索到的文档进行排序 10 år sedan
utils 1325da904c refactor storage 代码 10 år sedan
README.md 11b0cb9ad5 Update README.md 10 år sedan
license.txt 77121830e9 第一发 12 år sedan
wukong.go af2c876a7d 修正持久存储中的几个bug 10 år sedan

README.md

悟空全文搜索引擎

微博搜索demo

安装/更新

go get -u -v github.com/huichen/wukong

需要Go版本至少1.1.1

使用

先看一个例子(来自examples/simplest_example.go

package main

import (
	"github.com/huichen/wukong/engine"
	"github.com/huichen/wukong/types"
	"log"
)

var (
	// searcher是协程安全的
	searcher = engine.Engine{}
)

func main() {
	// 初始化
	searcher.Init(types.EngineInitOptions{
		SegmenterDictionaries: "github.com/huichen/wukong/data/dictionary.txt"})
	defer searcher.Close()

	// 将文档加入索引
	searcher.IndexDocument(0, types.DocumentIndexData{Content: "此次百度收购将成中国互联网最大并购"})
	searcher.IndexDocument(1, types.DocumentIndexData{Content: "百度宣布拟全资收购91无线业务"})
	searcher.IndexDocument(2, types.DocumentIndexData{Content: "百度是中国最大的搜索引擎"})

	// 等待索引刷新完毕
	searcher.FlushIndex()

	// 搜索输出格式见types.SearchResponse结构体
	log.Print(searcher.Search(types.SearchRequest{Text:"百度中国"}))
}

是不是很简单!

然后看看一个入门教程,教你用不到200行Go代码实现一个微博搜索网站。

其它