Hubble.Net 搜索引擎分析一

由于本人只关系搜索这方面的知识,所以只分析Hubble.Net内部关于搜索方面的知识。本人是一个业余爱好者,所以水平有限,望大家多多指点。

注:本人分析的是0[1].7.2.0-Src版本的代码。

 

1.       Hubble.Net 文件信息

由于Hubble.Net是和数据库结合构建搜索系统的。所以Hubble.Net只记录文档的索引信息,而文档本身内容记录与数据库中。Hubble.Net文档信息如下:

1.       *.hdx类型文件:记录索引词对应的索引信息。如索引词、在对应.idx文件中的位置和长度。

数据格式:size|postion|length|word   size包含了postion、length、word的大小

2. *.idx类型文件:记录索引词在文档中的信息。如文档ID、当前索引词在文档中出现的次数(count),其值和Data.length相等、记录当前索引词在文档中出现的位置列表(Data)、记录文档的Rank值。

    数据格式:Data.Length|DocId|Count|Rank|Data

    注:.hdx和.idx是成对出现的。.idx记录索引词在文档中的信息,如个数,位置,Rank。.hdx记录索引词、索引信息在idx文件中的位置和长度。文件名构成:{d:7}+ Serial。

3. Payload.db类型文件:记录Table数据列信息、文档ID、数据记录每列的索引词个数。数据列信息包含每列的field.Name 、field.TabIndex、field.DataType、field.DataLength、field.IndexType。数据记录每列的索引词个数。

    数据格式:field.Name +field.TabIndex+field.DataType+field.DataLength+field.IndexType(unicode MD5加密)|文档ID|Data(记录索引词个数)| 文档ID|Data(记录索引词个数)|..

    注:记录索引词个数等于每字段所以词个数列表。根据字段索引类型不同取值方法不同。Untokenized类型存储数据值本身,Tokenized类型存储数据值分词后的索引词个数。

4.  tableinfo.xml类型文件:存储Table配置信息。如表名称、ConnectionString、数据库中表名称(DBTableName)、数据列信息(Fields)、_DBAdapterTypeName、_ForceCollectCount(创建索引缓存文档个数)、_IndexOnly(索引是否只读)、_QueryCacheEnabled(是否支持查询缓存)、_QueryCacheTimeout(超时时间)、_SQLForCreate(创建SQL语句)。采用XML序列化存储Table配置信息。

5.  Delete.db类型文件:存储删除文档列表。

    数据格式:DocID| DocID| DocID| DocID.


转载于:https://www.cnblogs.com/postboxs/archive/2010/04/05/1704509.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值