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

Hubble.net V0.3 版本正式生成

Posted on   eaglet  阅读(1780)  评论(12编辑  收藏  举报
Hubble.net V0.3 版本正式生成

author: eaglet

Hubble.net 0.3 版本实现了如下功能:

1. 记录的修改

可以单个或批量修改记录。

记录修改分为两种情况,如果只修改元数据不修改全文数据,则直接更新索引,并修改数据库中相应记录的元数据。如果修改全文数据,则删除原来记录并重新添加一条新的记录(这种情况下更新数据和Lucene的方法是一样的)

2. 删除记录

可以单个或批量删除记录

3. 索引优化

索引优化分为三种可选方式:

1)最小方式

这种方式将把索引文件数量优化到最小,查询文件速度最快,但优化用时最长。

2)最快方式

这种方式下优化用时最短,但索引文件数量最多为32个,查询文件速度较最小方式要慢一些。

3)折中方式

这个为默认的优化方式,索引文件将会被优化为1-2个,其中第一个永远是最大的,在增量时,如果增量的数据较少,则只将新增加的索引数据和第二个较小的索引文件合并,这样大大降低优化用时,并基本保证查询文件的速度和最小方式相差不多。

自动优化

增量时,系统将根据当前索引文件的情况在适当的时候按最快方式对索引进行优化,这样即使调用者不人为进行优化索引操作,系统也不会变得很慢。

 

4. 并发冲突

Hubble.net 采用了一些多线程技术来解决并发时的冲突问题,锁被设计为尽量锁定较少的数据,从而最大可能保证并发。Hubble.net 全文索引系统比Lucene更好的解决了并发冲突问题。插入,删除,修改,优化和查询5种操作可以同时并发,没有任何冲突,而不像Lucene那样在读的时候或者优化的时候不能进行写操作。

 

下载地址

 Hubble.net 0.3 版本

 

 

 

 

 

编辑推荐:
· 如何编写易于单元测试的代码
· 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的设计模式综述
点击右上角即可分享
微信分享提示