Hubbledotnet中文手册
H 使用手册
H Team
最后更新时间 2009-12-14
Version:
系统简介3
物理视图3
逻辑视图4
三级缓存5
并发控制6
内存管理6
SQL 语句6
T-SFQL 语言6
数据库操作6
创建数据库6
删除数据库7
数据表操作7
建表7
删除表14
插入(Insert) 语句14
Syntax15
Arguments15
示例16
批量插入17
示例17
删除(Delete)语句17
Syntax17
示例18
修改(Update) 语句18
Syntax18
示例19
查询(Select) 语句19
Syntax19
Arguments19
示例23
系统存储过程24
SP_AddDatabase24
SP_AddExternalReference24
SP_AnalyzerList25
SP_Columns25
SP_Configure25
SP_DatabaseList26
SP_DBAdapterList26
SP_DeleteExternalReference27
SP_DropDatabase27
SP_DropTable28
SP_ExcuteSql28
SP_ExcuteSql29
SP_GetWordsPositions29
SP_OptimizeTable30
SP_QueryCacheReport30
SP_QuerySql30
SP_ShowExternalReference31
SP_TableList32
SP_TableQueryCache32
SP_TestAnalyzer32
SP_UpdateDatabase33
SP_Version33
SQLClient33
示例1:执行无返回命令34
示例2:执行有返回命令34
示例3:执行带参数命令35
示例4:使用数据缓存35
示例4:高亮显示36
查询分析器37
系统简介
H 是一个基于.net framework 的开源全文搜索数据库项目。全文搜索数据库系统区别于普通关系数据库系统,它可以让使用者方便的文本信息进行全文搜索,同时它也提供对数据库中字段的逻辑查询。目前的一些主流数据库都提供了FullText Search 功能,但其全文搜索的功能相对较弱,无法很好的满足实际应用需要,而一些全文搜索组件,比如比较著名的Lucene,则只提供了全文搜索功能,而缺乏和关系数据库的关联。H 是一款集合全文搜索和关系查询于一体的新型数据库系统,用户可以方便的通过SQL语句对数据库进行全文搜索,关系查询甚至全文+关系的查询。
物理视图
H 将全文搜索和关系数据库整合到一起,通过SQL语句对数据库中的数据进行全文和关系查询。H 组件本身负责对全文数据进行倒排索引,并将索引存储到表所指定的目录下,数据的存储则由和H 关联的关系数据库完成。H 提供了一个 IDBAdpter 接口,用户可以根据这个接口实现自定义的数据库适配。如何添加自定义的数据库适配器,将在存储过程一节中阐述。建立倒排索引时需要对输入的全文文本进行分词,H 为用户提供了一个 IAnalyzer 接口来完成自定义的分词器。如何添加自定义的分词器,将在存储过程一节中阐述。H 在安装后以一个系统服务的形式存在。 H 提供一个 Hubble.SQLClient 组件来和H 的系统服务进行交互,SQLClient 的接口和A 中的SqlClient接口类型,具体将在SQLClient一节中阐述。
逻辑视图
H 和 关系数据库一样,存在数据库和数据库表的概念。H 的数据库和数据表只是提供一个和对应关系数据库的映射描述关系,并不存在数据库和数据表的实体。用户在通过SQL 语句操作H 的数据库和数据表是,H 将自动和对应的关系数据库实体进行关联,从用户侧看,H就像一个数据库实体。
H 负责建立文本字段的倒排索引和Untokenized字段的单值索引。关系数据库负责建立B+树索引。如果查询语句不包括对全文字段的搜索,则直接转发给数据库利用数据库的索引进行查询。
三级缓存
如上图所示,H 提供三种级别的缓存方案。
Index cache :索引级别缓存用于缓存倒排索引和单值索引。这种缓存为系统自动管理,不能关闭。索引级别缓存会自动监控数据的增删改,并进行相应修改。
Query cache :查询级别缓存对查询的条件进行缓存,H 系统服务会将不同查询条件对应的文档ID(DocId)缓存下来,下次查询时直接从缓存中获取符合条件的文档ID,不再访问低级别缓存或索引。和索引级别缓存不同的是