更新时间: 2023-06-10 02:58:41#使用golang 全文搜索引擎 zincsearch全文搜索引擎有许多,其中最出名的是elasticsearch, 无论是性能还是体验都是最顶尖的,但是对小应用来不友好,因为小应用的硬件资源比较少,所以能够通过库/模块的方式内置在应用中会是比较好的选择,就像sqlite3一样。 golang版本轻量级的 zincsearch(内置搜索库 bluge) zin自带ui页面(written in vue) zincsearch 现在还处于GA(General Availability) and will be marked as production ready at v1.0.0 . 其他类似全文搜索库 typesense melisearch (rust) redissearch #倒排索引:假设有以下文本, 每行是一篇文章 文章1 hello world 文章2 hello china 文章3 hello hunan 如果我们要搜素那篇文章包含hello, 我们可以遍历每篇文章然后依次搜索,很显然这是一个比较低效的做法,如果有10w篇文章,每次搜索都遍历10w遍,那肯定是无法接受的,所以有人提出了倒排索引。 index := map[string][]string{ "hello": []string{"文章1", "文章2", "文章3"}, "world": []string{"文章1"}, "china": []string{"文章2"}, "hunan": []string{"文章3"}, } 原文