eaglet

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

随笔分类 -  搜索引擎

摘要:从上次更新HubbletDotNet 到现在一晃3年多了。2012年我所在的公司被澳洲电信收购,从此我就变得特别忙,没有时间继续 HubbleDotNet 的开发和维护,非常非常的抱歉。HubbleDotNet 从08年开始做一直只有我一个开发者,我一直想找到合作的开发者,但都没有如愿。非常感谢Hu... 阅读全文

posted @ 2015-09-29 21:07 eaglet 阅读(4721) 评论(25) 推荐(7) 编辑

摘要:经常有人问我怎么将类似word,pdf这样的文档转换为文本然后索引,.net 这方面的解决方案不是很多,为了方便大家,我花了一天时间自己做了一个。 阅读全文

posted @ 2013-01-10 10:44 eaglet 阅读(13476) 评论(59) 推荐(43) 编辑

摘要:HubbleDotNet 通过支持 Mongodb 也使其本身同时具备了 no-sql 的解决方案。本文将重点概述Hubble+Mongodb 的功能以及和hubble+sql, lucene.net 的一些性能测试对比。 阅读全文

posted @ 2012-05-10 12:01 eaglet 阅读(13456) 评论(68) 推荐(8) 编辑

摘要:1.1.4.0 版本对底层的查询算法做了很大改进,特别是对单个关键字的查询速度,原来版本当匹配100万时用时 130ms,这个版本用时只有30ms。 这个速度大概是 lucene.net 的三倍左右。 阅读全文

posted @ 2011-07-24 17:11 eaglet 阅读(2195) 评论(6) 推荐(2) 编辑

摘要:HubbleDotNet 在设计之初就定位为一个开放式的搜索平台,分词器,得分算法,数据库适配器,存储过程,函数等等都可以通过编写自定义的插件来定制。目前版本分词器,数据库适配器的自定义接口已经开放,得分算法的自定义接口也将在最近开放出来。本文将讲述如何编写自己的分词器。 阅读全文

posted @ 2011-06-03 06:05 eaglet 阅读(7091) 评论(19) 推荐(7) 编辑

摘要:HubbleDotNet 1.1.2 以前版本客户端和服务器之间都是同步 TCP Socket 方式通讯,这种方式要为每个连接保持一个TCP通道,每次建立连接都要创建新的TCP连接,效率很低。而且有最大连接数限制,当服务器很忙时,1.1.2 以前版本经常会出现 Too many connects on server 错误,虽然通过增大 MaxConnectNum 的值可以缓解,但无法根治。1.1.2 版本推出了全新的异步通讯模式,同一个客户端和服务器之间所有的 Hubbble 连接都共用一个 TCP 链路,这个设计彻底解决了最大连接数不够的问题,大大提高了系统的处理能力 阅读全文

posted @ 2011-05-30 08:11 eaglet 阅读(5024) 评论(9) 推荐(4) 编辑

摘要:全文索引的分布式检索粗想想似乎很简单,感觉就是把多个接入点搜索出来的数据做个合并排序就可以,但如果想要做好,满足商业应用要求,这里面涉及到很多算法优化的问题,比如多路排序的优化,动态路由,翻页的优化,通讯的优化,分发复制,冗余和故障转移等等。从今天开始,我将逐步讲解HubbleDotNet 在分布式检索方面的众多算法考虑。由于涉及的算法很多,无法在一篇全部阐述,我打算采用由浅入深的思路,先从比较简单的算法开始。本文将介绍翻页的优化技术。 阅读全文

posted @ 2011-05-18 08:48 eaglet 阅读(5296) 评论(14) 推荐(9) 编辑

摘要:Lucene.net 项目有将近1年没有出官方版本了,从去年年初就听说好像出什么问题了,但一直没有看到官方说法。最近搜了一下,这个项目好像确实停了。Apache 开源基金会已经把这个项目的主页下掉了,放到孵化器里面去了。这个项目目前用户还是很多的,包括博客园的找找看,我估计也是基于这个 lucene.net 的,停了还是比较可惜的,希望它的分支能继续发展起来。下面把我看到的相关文章,我大概给介绍一下,看看这个项目到底是出了什么问题。 阅读全文

posted @ 2011-02-24 09:20 eaglet 阅读(8407) 评论(25) 推荐(6) 编辑

摘要:今天专门测试了对索引文件全部缓存到内存以及对单词的倒排索引结果进行缓存。测试下来文件缓存到内存对搜索的速度提高非常有限,即便在磁盘的 Avg Disk Queue length = 100 时,性能的提升也很有限。分析下来,原因大致是因为顺序读取文件时操作系统已经做了缓存。 而倒排结果的缓存对性能提升能起到一定的作用,但在返回结果集 100万以下时,提升有限。今天测试返回结果集达到 780 万时,采用倒排结果缓存技术用时搜索是 99ms,而直接读文件方式下搜索用时500ms,这个性能的提升还是比较明显,但同时带来的是大量的内存开销,大约1000万的倒排结果需要消耗160M左右的内存。 从测试结 阅读全文

posted @ 2011-01-11 12:28 eaglet 阅读(1224) 评论(5) 推荐(0) 编辑

摘要:本文讲述 Contains 方式搜索的原理和方法 阅读全文

posted @ 2010-09-16 08:20 eaglet 阅读(3525) 评论(1) 推荐(0) 编辑

摘要:本文讲述Match方式搜索的原理和方法 阅读全文

posted @ 2010-09-16 08:04 eaglet 阅读(3892) 评论(10) 推荐(0) 编辑

摘要:第二部分是Bigtable 的数据模型介绍,这部分应该是Bigtable 的核心思想。 阅读全文

posted @ 2010-09-13 09:18 eaglet 阅读(2793) 评论(0) 推荐(0) 编辑

摘要:这篇文章是Bigtable 的设计者Jeffrey Dean 等所写的一篇比较权威的介绍Bigtable的论文,由于比较长,我将分各个章节陆续翻译,翻译采用中英文混合的方式,这样如果由于我英文水平有限而产生出入,也方便读者进行指正。Bigtable的设计思路对于构建大型分布式存储和数据检索系统有非常好的参考价值,其也成功的应用于google等世界知名的互联网公司。 阅读全文

posted @ 2010-05-27 11:01 eaglet 阅读(5038) 评论(11) 推荐(0) 编辑

摘要:盘古分词 V1.2 版本发布 阅读全文

posted @ 2010-02-03 12:54 eaglet 阅读(2943) 评论(19) 推荐(1) 编辑

摘要:Hubble.net V0.7.2.0 版本发布 阅读全文

posted @ 2009-12-18 20:21 eaglet 阅读(2244) 评论(19) 推荐(0) 编辑

摘要:Hubble.net 是一个基于.net framework 的开源免费的全文搜索数据库组件。开源协议是 Apache 2.0。Hubble.net 提供了基于SQL的全文检索接口,使用者只需会操作SQL,就可以很快学会使用Hubble.net进行全文检索。Hubble.net 可以实现全文索引和查询、多域检索和排序、分组统计、消重、分类、聚类、多表关联查询等等一系列全文检索和数据挖掘功能。Hubble.net 提供开放的数据库适配器接口,可以和各种数据库完美整合,为各种数据库系统附加全文检索和数据挖掘功能。Hubble.net 设计了较为完善的并发控制程序,数据的增删改查可以多线程同时并发进行,没有任何冲突。Hubble.net 还进行了缓存和内存管理设计,可以帮助用户最大限度的提高查询的效率。Hubble.net 力争在未来的几年内超过Lucene.net成为.net开发环境中最受欢迎的全文检索组件。 阅读全文

posted @ 2009-12-15 09:44 eaglet 阅读(8925) 评论(49) 推荐(9) 编辑

摘要:Hubble.net 0.7.1.0 版本发布和修改说明 阅读全文

posted @ 2009-12-14 15:05 eaglet 阅读(1401) 评论(7) 推荐(1) 编辑

摘要:Hubble.net 从开发到现在整整一年时间,今天第一个测试版本终于可以发布了,也算是对我这一年来的努力的回报吧。Hubble.net 在开发过程中得到了很多园友的关注和支持,在此表示感谢,也希望大家继续关注和支持这个开源项目。 阅读全文

posted @ 2009-11-30 15:14 eaglet 阅读(1179) 评论(18) 推荐(1) 编辑

摘要:Hubble.net 安装指南 阅读全文

posted @ 2009-11-30 14:47 eaglet 阅读(12937) 评论(62) 推荐(2) 编辑

摘要:该版本完成了 create table drop table 表级别锁 系统存储过程 优化了大量插入时的内存管理 阅读全文

posted @ 2009-09-29 10:21 eaglet 阅读(678) 评论(3) 推荐(0) 编辑