基于Golang的小型搜索引擎
Spider-Engine是一款基于Go实现的小型搜索引擎,简单、直接、高效、皮实。设计上参考借鉴了Mysql、ES等。
Tips:
目前Spider-Engine已经和 Spider-Man(一个Go的爬虫框架项目)打通。
并且由 Spider-Face(一个Go的web框架项目)配了一套简单的搜索引擎页面。
当然,这并非必须的,您也可以自己实现爬虫将数据结构化之后导入并选择自己熟悉的web框架。
支持的功能:
类比Mysql和ES,支持库、表、字段级别的存储单元管理
字段支持字符串类型、数字类型、时间类型
字符类型的字段,可以选择分词模式和完整模式
底层实现倒排、正排索引,支持搜索和字段信息获取
文本分词(基于jiebago)
支持搜索 & 过滤 & 排序
搜索结果排序,基于TF-IDF算法
单个字段全文索引,SE区别于Mysql的最大特点
跨多字段全文索引(所有字符串类型的字段)
底层分区,类似于Mysql的分区概念
底层分区自动创建、合并,上层无感
读写并发安全,同时进行文档增删改、索引建立、查询
Restful风格接口
尽量做到无外部依赖,小部分已经用govendor做了自依赖
不支持的功能:
数字类型的倒排索引
浮点类型,请先用字符串类型代替
分布式
Github
请登录之后再进行评论