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

Hui Chen 8a2c1e5de0 Merge branch 'master' of https://github.com/huichen/wukong před 10 roky
core 87ba8c1de4 减少map查询的频率,检索速度提升50% před 10 roky
data 77121830e9 第一发 před 12 roky
docs 5e6a9661c0 添加docker支持 před 10 roky
engine e1b46affa8 在goroutine worker里不要用return před 10 roky
examples 5e6a9661c0 添加docker支持 před 10 roky
storage af2c876a7d 修正持久存储中的几个bug před 10 roky
testdata 06da509aa0 Delete weibo_data.txt před 11 roky
types c4188105f3 允许跳过ranker,不对搜索到的文档进行排序 před 10 roky
utils 1325da904c refactor storage 代码 před 10 roky
README.md 11b0cb9ad5 Update README.md před 10 roky
license.txt 77121830e9 第一发 před 12 roky
wukong.go af2c876a7d 修正持久存储中的几个bug před 10 roky

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

其它