Hubble.Net 全文数据库开源项目(2008年11月8日更新 修改软件架构)
Posted on 2008-10-28 09:09 eaglet 阅读(5445) 评论(38) 编辑 收藏 举报Hubble.Net 全文数据库开源项目
项目简介
Hubble.Net 全文数据库开源项目是一个建立在 .net 框架基础上的由中国程序员主导的全文数据检索开源项目。项目旨在为全文检索开发者或用户提供一个简单易用、高性能、高可用性的全文数据库中间件。Hubble.Net的骨干版本提供最基本的全文检索接口和界面,并被设计为高度可扩展的系统架构,以吸引众多的开发者参与进系统扩展功能的研发和推广,最终形成一套较为完整的全文检索解决方案。
项目名称由来
项目名称 Hubble 取自美国著名天文学家哈勃,也是目前最大的太空望远镜的名字。希望该项目可以帮助搜索引擎搜索到宇宙中的任何角落。(名称的象征性意义,美好愿望吧,能否实现还要依赖科技的发展)
项目发起人
Eaglet
软件架构
2008年 11月8日更改
更改原因:
本来打算在Lucene.Net 基础上做,后来对Lucene.Net进行了一些测试,发现其算法在处理诸如
元数据的范围查询,元数据的排序,通配符匹配等方面存在很大缺陷,不但效率低下,而且查询数量上
也有限制,默认只能查询2000条记录。这离商业化应用的要求相去甚远,最后还是决定放弃Lucene.Net。
增加一个Hublle.Core 模块,这个模板实现最核心的索引算法,用以替代Lucene.Net。
本项目被划分为如下几个大的模块
- Hubble.Framework 该模块为整个系统提供一些底层类库支持
- Hubble.Analyzer 该模块是一个全文分词模块,为全文检索提供分词方面的支持
- Hubble.Cache 该模块为全文检索提供缓存支持
- Hubble.Data 该模块是整个系统中最主要的模块,该模块细分为如下子模块
- Hublle.Core 模块,这个模板实现最核心的索引算法,用以替代Lucene.Net。
· Hubble.Data.SFQL 该模块提供结构化全文查询语言的解析,为全文检索提供一个类似SQL 的结构化查询接口
· Hubble.Data.Ling 该模块提供Linq 查询接口
· Hubble.Data.Adapter 该模块为全文检索适配层,对不同版本的Lucene.Net进行适配,也可以为未来更好的全文检索组件进行适配。
· Hubble.Data.Mapping 该模块提供对其它数据源的映射,通过这个模块,可以将关系数据库等其它数据源映射到全文数据库中,并提供关联查询,以充分发挥全文数据库和关系型数据库的各自优势。
· Hubble.Data.Distributing 该模块提供高性能分布式全文检索的支持。
开源协议
Apache Licence 2.0
项目相关资源
项目位置
http://www.codeplex.com/HubbleDotNet 已经发布部分代码
https://sourceforge.net/projects/hubbledotnet/
目前暂时是空的
讨论群组 http://space.cnblogs.com/group/search/
团队博客 http://space.cnblogs.com/group/search/
参与方式
非常欢迎对这个项目感兴趣的朋友参与到这个项目中来。参与方式多种多样。你可以:
- 参与项目的相关讨论
- 参与扩展功能的开发
- 参与软件的使用和测试
- 参与项目的推广和应用
- 参与编写相关文档或撰写相关文章
- 参与翻译相关文档或文章
- 在电脑前给大家加油