ElasticSearch 是 Java语言技术栈的。当然这不影响你用Go 技术栈时的集成和使用。
本文介绍 Riot 搜索引擎
在 Github 上有5.8k 的 start,最近半年多没有新的Commit了,其基于悟空搜索引擎 和 sega分词器。
其特性还不错:
高效索引和搜索(1M 条微博 500M 数据28秒索引完,1.65毫秒搜索响应时间,19K 搜索 QPS)
支持中文分词(使用 gse 分词包并发分词,速度 27MB/秒)
支持逻辑搜索
支持中文转拼音搜索(使用 gpy 中文转拼音)
支持计算关键词在文本中的紧邻距离(token proximity)
支持计算BM25相关度
支持自定义评分字段和评分规则
支持在线添加、删除索引
支持多种持久存储
支持 heartbeat
支持分布式索引和搜索
可实现分布式索引和搜索
采用对商业应用友好的Apache License v2发布
缺点是相关文档较少,只有 github仓库的README文档。
项目架构如下图:
传送门:
gse分词器
jieba分词器go语言版本
参考链接:
https://www.infoq.cn/article/2015/09/wukong-search-engine