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 10 년 전
core 87ba8c1de4 减少map查询的频率,检索速度提升50% 10 년 전
data 77121830e9 第一发 12 년 전
docs 5e6a9661c0 添加docker支持 10 년 전
engine e1b46affa8 在goroutine worker里不要用return 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代码实现一个微博搜索网站。

其它