eaglet

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

随笔分类 -  搜索引擎

摘要:Hubble.net 建表语句 Create Table 阅读全文

posted @ 2009-09-15 15:21 eaglet 阅读(1857) 评论(6) 推荐(0) 编辑

摘要:0.4 版本完成了如下功能 1. TSFQL 脚本解释器框架 2. Insert, update, delete 和 select 语句。 3. 对批命令的支持 阅读全文

posted @ 2009-09-01 15:54 eaglet 阅读(1090) 评论(8) 推荐(1) 编辑

摘要:eaglet 曾经在KTDictSeg 中分别尝试使用规则和统计方式来识别中文(汉族)人名,但效果都不理想。在盘古分词中eaglet另辟它径,采用一种新的算法来识别中文人名,效果相比规则和统计方式要好很多。下面eaglet就来介绍这种中文人名的识别方法。 阅读全文

posted @ 2009-08-19 10:01 eaglet 阅读(17613) 评论(29) 推荐(10) 编辑

摘要:两年前我开发了一个KTDictSeg 中文分词组件,这个组件推出2年来受到很多朋友的喜爱。不过由于我当初开发KTDictSeg时比较仓促,底子没有打好,而且当时对分词的理解也比较肤浅,所以KTDictSeg组件存在很多问题,我一直想重新开放一个更好的开源分词组件,但一直没有抽出时间。上周我终于下定决心开始做这个事情,经过两周的开发(业余时间),今天终于完成了盘古分词的V1.0版本。盘古分词和KTDictSeg完全不同,几乎所有的算法我全部都推倒重写了,其分词速度大概比KTDictSeg快5倍左右(多线程下快10倍以上),内存占用只有KTDictSeg的一半,分词的准确度方面也比 KTDictSeg 有显著提高,功能也增加了很多。下面我就简单介绍一下盘古分词组件的基本功能,希望能对有这方面需求的朋友有所帮助。 阅读全文

posted @ 2009-08-13 16:50 eaglet 阅读(46504) 评论(126) 推荐(30) 编辑

摘要:今天是Hubble.net 值得纪念的一天,从开始规划Hubble.net 到今天已经8个多月,从0.1到0.2再到0.3再到0.4,每个版本都是一个故事,这期间不知道到解决了多少难题也不知道度过了多少个不眠之夜。多少次我一个人走在林荫道上考虑着一个又一个算法,多少次我看不到希望想放弃,但最后还是咬牙坚持。没有人和我讨论和交流,我就这样一个人寂寞的走着走着,看不到任何可见的成果,但我始终坚信,我有能力走下去,有能力看到我想要的东西。路很长,但只要坚持不懈,路再长也只是时间问题。 阅读全文

posted @ 2009-07-30 20:40 eaglet 阅读(2090) 评论(19) 推荐(0) 编辑

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

posted @ 2009-07-01 10:24 eaglet 阅读(1779) 评论(12) 推荐(1) 编辑

摘要:Hubble.net V0.2 版本历时将近半年时间,终于全部结束,期间走了一些弯路,耽误了一些时间。 阅读全文

posted @ 2009-05-27 09:39 eaglet 阅读(996) 评论(12) 推荐(0) 编辑

摘要:Hubble.net 持久化方面3个重大改进 1.持久的DocId 2. 元数据快速修改 3. 高效的增量索引 阅读全文

posted @ 2009-04-28 11:18 eaglet 阅读(856) 评论(7) 推荐(0) 编辑

摘要:T-SFQL (Transact-Structured Full-text Query Language) 是在T-SQL 标准基础上衍生出来的结构化全文查询语言。2009年由Hubble.net 提出,语言全文数据库的查询和管理。 T-SFQL 0.1 版本为T-SFQL 语言推出的第一个版本。该版本只提供基本的“增删改查”功能。其他功能将逐渐在后续版本中提供。 阅读全文

posted @ 2009-04-27 18:37 eaglet 阅读(1244) 评论(12) 推荐(0) 编辑

摘要:我们经常听说 Google 有一套诡异的机制来检测无效点击,用来对付作弊者,但 Google 到底是怎么做到的呢?这篇文章归纳出 Google 用之以判断广告点击有效与否的方法。通常来说,Google 不会马上封掉你的帐户,他们会把你的帐户标记起来并进行特别监视,有时候还会给你寄警告信。 阅读全文

posted @ 2009-03-13 10:29 eaglet 阅读(1178) 评论(1) 推荐(1) 编辑

摘要:这是一篇公司的内部培训教材,其中中的内容涵盖LUCENE的方方面面,从源代码角度深入剖析LUCENE,如果要对LUCENE有更加深入的了解(专家级别),这篇技术文档必不可少。 前提:对LUCENE有一定程度的了解,否则会让你云里雾里 阅读全文

posted @ 2009-02-16 14:53 eaglet 阅读(6156) 评论(3) 推荐(0) 编辑

摘要:如何给文档评分 阅读全文

posted @ 2009-02-16 14:45 eaglet 阅读(2521) 评论(1) 推荐(1) 编辑

摘要:文档内容是如何分析的 阅读全文

posted @ 2009-02-16 14:37 eaglet 阅读(2243) 评论(0) 推荐(0) 编辑

摘要:5 索引是如何存储的 阅读全文

posted @ 2009-02-16 14:33 eaglet 阅读(2181) 评论(0) 推荐(0) 编辑

摘要:4.3 索引创建过程 文档的索引过程是通过DocumentsWriter的内部数据处理链完成的,DocumentsWriter可以实现同时添加多个文档并将它们写入一个临时的segment中,完成后再由IndexWriter和SegmentMerger合并到统一的segment中去。DocumentsWriter支持多线程处理,即多个线程同时添加文档,它会为每个请求分配一个DocumentsWriterThreadState对象来监控此处理过程。处理时通过DocumentsWriter初始化时建立的DocFieldProcessor管理的索引处理链来完成的,依次处理为DocFieldConsumers、DocInverter、TermsHash、FreqProxTermsWriter、TermVectorsTermsWriter、NormsWriter以及StoredFieldsWriter等。 阅读全文

posted @ 2009-02-16 14:27 eaglet 阅读(2232) 评论(1) 推荐(0) 编辑

摘要:4 索引是如何创建的 为了使用Lucene来索引数据,首先你比把它转换成一个纯文本(plain-text)tokens的数据流(stream),并通过它创建出Document对象,其包含的Fields成员容纳这些文本数据。一旦你准备好些Document对象,你就可以调用IndexWriter类的addDocument(Document)方法来传递这些对象到Lucene并写入索引中。当你做这些的时候,Lucene首先分析(analyzer)这些数据来使得它们更适合索引。详见《Lucene In Action》 阅读全文

posted @ 2009-02-16 14:23 eaglet 阅读(3647) 评论(1) 推荐(0) 编辑

摘要:3.3.6 Term向量文件 Term向量(vector)的支持是field基本组成中对一个field来说的可选项,它包含如下4种文件: 阅读全文

posted @ 2009-02-16 14:00 eaglet 阅读(1912) 评论(0) 推荐(0) 编辑

摘要:3.3.3 Term频率数据(.frq) Term频率数据文件(.frq文件)存储容纳了每一个term的文档列表,以及该term出现在该文档中的频率(出现次数frequency,如果omitTf设置为fals时才存储)。 阅读全文

posted @ 2009-02-13 14:56 eaglet 阅读(3181) 评论(0) 推荐(0) 编辑

摘要:3.3 每个Segment包含的文件 阅读全文

posted @ 2009-02-13 14:49 eaglet 阅读(2391) 评论(0) 推荐(0) 编辑

摘要:Lucene使用文件扩展名标识不同的索引文件,文件名标识不同版本或者代(generation)的索引片段(segment)。如.fnm文件存储域Fields名称及其属性,.fdt存储文档各项域数据,.fdx存储文档在fdt中的偏移位置即其索引文件,.frq存储文档中term位置数据,.tii文件存储term字典,.tis文件存储term频率数据,.prx存储term接近度数据,.nrm存储调节因子数据,另外segments_X文件存储当前最新索引片段的信息,其中X为其最新修改版本,segments.gen存储当前版本即X值,这些文件的详细介绍上节已说过了。 阅读全文

posted @ 2009-02-13 14:37 eaglet 阅读(4094) 评论(0) 推荐(0) 编辑