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

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

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代码实现一个微博搜索网站。

其它