0-家人
0-新酷应用
startups
友情链接
同事
日历
2010 九月 一 二 三 四 五 六 日 « 八 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 -
最近文章
搜索
近期评论
- Think In LAMP Blog » Blog Archive » PHP每月通讯(2010年9月) 在 PHP中的一些language construct 上的评论
- Think In LAMP Blog » Blog Archive » PHP每月通讯(2010年9月) 在 稍显寒酸的一个PHP框架:supermin 上的评论
- Tokyo Cabinet乱贴(未整理,仅供自己做笔记) « LAMP架构网站开发指南|Kenneth@Beijing2010 在 Tokyo Cabinet:另一个DBM实现 上的评论
- Anders 在 cloudapi 悄然上线,欢迎各方人士拍砖 上的评论
- key 在 新博开张 上的评论
- 怎么样 在 新博开张 上的评论
- timberland boots uk 在 新博开张 上的评论
- 小宝 在 稍显寒酸的一个PHP框架:supermin 上的评论
- fengfeng 在 稍显寒酸的一个PHP框架:supermin 上的评论
- deli 在 好色的程序员:怎么加上彩色显示 上的评论
标签归档:HyperEstraier
Tokyo Dystopia:基于Tokyo Cabinet的一个全文检索系统
项目主页: http://tokyocabinet.sourceforge.net/dystopiadoc/ 介绍: Tokyo Dystopia 是一个全文检索系统,你可以搜索包含某短语的一系列记录,它的特性如下: 1.搜索的高效。 2.目标文标的高可靠性 3.N-gram 法的高召回率 (我加的,原文中没有:召回率是搜索引擎中对搜索结果能否全面的量化,召回率越高,搜索结果中包含相关文档越多,同时一般来说搜索结果越不精确,精确率越低。) 4.短语匹配,前缀匹配,后缀匹配搜索. 5.Unicode下多语种支持。 6.API的分层架构支持。 值得一提的是,印象中Tokyo Dystopia好像在日本国内社交网站老大mixi.jp上应用了。 本文由蝌蚪安尼友情赞助.相关文章Tokyo Tyrant:Tokyo Cabinet的网络接口Tokyo Cabinet:另一个DBM实现tokyodystopia的python封装社区全文检索引擎Hyper Estraier 学习笔记[2]社区全文检索引擎Hyper Estraier 学习笔记[3]文本挖掘,构造垃圾站[一]Spread 简介(试译)Tokyocabinet/Tokyotyrant文档大合集,十全大补汤,哈。缓慢的drop table 操作
社区全文检索引擎Hyper Estraier 学习笔记[4]
如何搭建一个Web界面的搜索界面 现在我的硬盘上有Linux帮助,php中文文档,mysql文档,C函数手册等文档等,它们一共有500M. 我需要一个索引工具。但是明显在命令行不是太方便。因为这些文档全是HTML格式的,我需要用浏览器来打开它们查看。 我决定在本机架设一个apache,利用hyperestraier来进行索引,提供像Google/baidu那样的web界面。 这是我的操作步骤: 1 准备目录: 我在www目录下新建了两个目录,search/tool和search/search_doc目录,将属主改为apache(这是我的apache运行的用户名). search/tool/用来放置hyperestraier的程序和索引数据库,search_doc/下放置原始的各种帮助文档。 2.索引帮助文档: 在search/tool/目录下: estcmd create man_docs_db find ../search_doc/ -name "*.html" -type f|estcmd gather -cl -fm -cm ./man_docs_db – 然后Hyperestraier就哗啦哗啦地索引这500多M的文要资料。很快就索引完了。 3.进行CGI和estseek.cgi的相关设置。 我们将编译hyperestraier目录下产生的estseek.*复制到search_tool目录下,并修改apache的关于CGI的配置: <directory /home/y/www/search_tool/> Options +ExecCGI addHandler cgi-script cgi pl </directory> 现在search_tool目录下的estseek.cgi能被执行了.当然你得执行chmod a+x … 继续阅读
社区全文检索引擎Hyper Estraier 学习笔记[3]
经过摸索,我决定给HyperEstraier加上由Hightman写的scws支持,使之支持中文分词。 实地看了代码之后,发现Hyperestraier的结构划分并不好,这可能决定了他只能是某些Hacker的心血之作,而不适用多人协作开发,大规模推广应用。这是旁话。 既然找到分词默认是使用的estraier.c的est_break_text函数,那我的目标就是改造这个函数,现在这个函数被我改成了: scws_t seg; /* Break a sentence of text and extract words. */ void est_break_text(const char *text, CBLIST *list, int norm, int tail){ // hack by renlu.xu CBLIST *words; const unsigned char *word, *next; unsigned … 继续阅读
社区全文检索引擎Hyper Estraier 学习笔记[2]
hyperestraier是在前文已经介绍过一的一个开源搜索引擎程序。 分词:采用N-gram,char_category等来分词,良好地支持中文等东亚文字。 分词程序在:estraier.c中 est_break_text est_break_text_perfng est_break_text_chrcat 等分法。 相关的函数有 276 static int est_char_category(int c); 277 static int est_char_category_perfng(int c); 278 static int est_char_category_chrcat(int c); 等 分词默认采用est_break_text 当创建数据库时采用 estcmd create dbname -apn 时,采用est_break_text_perfng来分词 当创建数据库时是用 estcmd create dbname -acc 时,用est_break_text_chrcat来分词 采用est_break_text来分词时,结果这样样的: 今天 天突 … 继续阅读
社区全文检索引擎Hyper Estraier 学习笔记
今天突然想起霍炬曾告诉过我的一个日本人开发的全文检索引擎,于是找他问了,并下载下来看了看。 晚上去优酷去混脸熟,主讲的是讲品牌营销的,我不感兴趣,于是在下面打开电脑,学习Hyper Estrainer的文档,现在趁着没忘,做个笔记: 1.Hyper Estraier是一个用C语言开发的全文检索引擎,他是由一位日本人开发的.工程注册在sourceforge.net(http://hyperestraier.sourceforge.net). 2.Hyper的特性: 高速度,高稳定性,高可扩展性…(这可都是有原因的,不是瞎吹) P2P架构(可译为端到端的,不是咱们下大片用的p2p) 自带Web Crawler 文档权重排序 良好的多字节支持(想一想,它是由日本人开发的….) 简单实用的API(我看了一遍,真是个个都实用,我能看懂的,也就算简单了) 短语,正则表达式搜索(这个有点过了,不带这个,不是好的Full text Search Engine?) 结构化文档搜索能力(大概就是指可以自行给文档加上一堆属性并搜索这些属性吧?这个我没有实验) 3.Hyper Estraier的安装 安装分两步进行:安装QDBM,再安装Hyper estrainer. Hyper Estraier 需要QDBM来做数据库驱动.为什么不用Mysql/PGSql/Oracle?….想想吧…..我们要的是速度..速度..速度.. QDBM是与NDBM,SDBM,GDBM,TDB,TinyCDB,Berkeley DB相类似的一个,这一些驱动中有些功能欠缺,有些速度慢,作者认为,这其中,QDBM做到了一个较好的平衡. 另外…QDBM的作者也是Mikio Hirabayashi。(开始我以为Ruby的作者也是他,后来查了查Ruby programming,发现是Yukihiro Matsumoto,a.k.a “Matz”.难怪,日本人的英文名字看起来都一样的怪.. 首先安装QDBM,安装完以后,再开始Hyper Estrainer的配置.Hyper Estrainer对其他组件的依赖性比较少,config,make过程都很快.一般的问题都是出在没有事先安装QDBM,或是找不到QDBM的头文件。QDBM一般个人很少直接用,所以推荐就默认安装,这样方便Hyper Estrainer 找到它的头文件. 4.Hyper Estraier的文档分为五部分: a.简介 … 继续阅读