eaglet

本博专注于基于微软技术的搜索相关技术
随笔 - 189, 文章 - 0, 评论 - 3725, 阅读 - 147万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

数据类型

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 技术详解

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示