eaglet

本博专注于基于微软技术的搜索相关技术
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

数据类型

HubbleDotNet 目前版本支持如下数据类型:


Int, TinyInt, SmallInt, BigInt, Float, DateTime, SmallDateTime, Date, NVarchar, Varchar, NChar, Char

DateTime 的范围和 .net 的 DateTime 类型相同,精度为毫秒。

SmallDatetime 的范围从 1980 年 1月 1日 到 2047 年 12 月 31 号 23:59:59 ,精度为 秒

Date 的范围从 0001 年 1 月 1 日 到 5883516 年 1 月 1 日,精度为天


nvarchar, varchar, nchar, char 这四种类型和SQL SERVER 2005 的四种类型对应,可以指定字符串的长度或者用 max 指定为不限长度的字符串类型。

如果用上述类型做 Untokenized 索引,则长度最大为32.

Int, TinyInt, SmallInt, BigInt, Float 这几种类型和SQL SERVER 2005 的相应类型对应,这几种类型只能指定为 None 或 Untokenized 索引,不能指定为Tokenized 索引。

 

字段名的定义和T-SQL 类似,如果为关键字,用单引号来指定,如 'where' 。

 

索引类型

Hubble.net 提供三种索引类型

Tokenized 索引

Tokenized 索引是全文索引类型,只有字符串类型字段才可以指定为 Tokenized 索引。字段被指定为这种索引类型后,索引时将首先对字段中的文本进行分词,然后对分词结果构建倒排索引。搜索这些字段时将查询倒排索引,找到对应的记录。

 

Untokenized 索引

Untokenized 索引是单值索引,所有数据类型都可以指定为这种类型索引。字段被指定为这种索引类型后,索引时将对字段中的数据构建单值索引,并存放到 Payload.db 这个文件中。这种索引只有在同时搜索全文和元数据时才会使用,比如搜索全文的同时要求搜索时间或对时间进行排序,这时会用到单值索引。

 

None 索引类型

如果一个字段的索引类型被指定为 None ,Hubble.net 将不对这个字段创建索引。如果搜索条件中包含这种索引类型的字段,hubble.net 将利用关系数据库本身的索引进行查询,索引如果需要对 None 类型字段进行搜索,需要考虑在关系数据库对应的表中创建合适的索引。

 

返回 Hubble.net 技术详解