• ----:)欢迎访问源码网(:----
    • 首页
    • 博客
    • 学院
    • 下载
    • 论坛
    • 影视
    • 发布源码
    • RSS
    • ITPig
    • 笑话网
    • 百家姓
    • 繁體中文

源码网 - 中国第一源码门户
选择镜像:网通镜像 - 电信主站
  • 首 页
  • 新闻动态
  • 网站运营
  • 网页制作
  • WEB开发
  • 编程开发
  • 图像媒体
  • 操作系统
  • 数据库
  • 服务器
热门搜索 优化 SEO 故事 cms IIS7 MySQL 个人 AdSense 主题推广 | 文章搜索: 高级搜索
会员登录/控制面版您的位置: 学院首页 >> 新闻动态 >> 程序安全 >> 详细内容
 

推荐文章

 
 

热点文章

  • LBS^2漏洞
  • 国产多用户博客BLOG程序试用手记!
  • 谈新手如何安装discuz6.0.0正式版
  • 网关IP和MAC地址绑定批处理防止Arp欺骗攻击
  • EasyWebServer网站服务器 V1.9 介绍及使用说明
  • 新一代企业级电子商务平台问世
  • 最近网络上最狠的病毒惊现
  • 动易SiteFactory CMS 1.0版正式发布!
  • 4月6日安全漏洞PHPWind官方表态
  • Dede2007 分类信息模型抢先预览
  • lbs blog又一注射漏洞含漏洞解析和exp
  • 饱饱眼瘾 DeDeCMS最新后台截图秘密透露
 
 

相关文章

  • Lucene:基于Java的全文检索引擎简介
  • ASP.NET学习笔记一——ASP和ASP.NET比较
  • 搜索营销与社区口碑营销
  • 介绍一下Hyper Estraier
  • 专访康盛创想CEO戴志康:做中国社区市场载入史册的产品
  • 从“一起网”看社区的基本元素
  • 社区的几个关键问题
  • chinaseoer搜索引擎优化学习笔记(二):内链and外链
  • Chinaseoer搜索引擎优化学习笔记(一):关键字的选择..
  • 百度“搜索+社区”模式获得认可
  • 革命性社区创新设计 “UCenter”揭秘
  • 谈不同社区不同的盈利模式
 
 

百度搜索

 
 

社区全文检索引擎Hyper Estraier 学习笔记

  • 阅览次数:
  • 文章来源: http://www.162cm.com/archives/date/2007/07/18
  • 原文作者:
  • 整理日期: 2008-04-04
  • 发表评论
  • 字体大小:
  • 小
  • 中
  • 大

Hyper Estraier下载:http://www.codepub.com/software/Hyper-Estraier-11379.html

今天突然想起霍炬曾告诉过我的一个日本人开发的全文检索引擎,于是找他问了,并下载下来看了看。
晚上去优酷去混脸熟,主讲的是讲品牌营销的,我不感兴趣,于是在下面打开电脑,学习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.简介
b.用户指南
c.编程指引
d.P2P架构主法
e.Web蜘蛛

5.使用:

  1. find ./ -name "*.txt" -type f|estcmd gather -cl -fm -cm testdb -

这一命令,将查找当前目录下的所有txt文件,并用Hyper Estrainer索引.索引的数据库名字是testdb.

  1. estcmd search -vx -max 10 testdb 'Fedora core'

这一命令在testdb库中检索Fedora core,结果用xml给出,列出10个结果.

我认为最重要的就是索引文件(estcmd gather)和检索(estcmd search)这两步了.其他的可以运行estcmd 看说明.

6.p2p架构:
Hyper Estrainer 可以多组实例同时运行,不同的Node之间是可以互相通信的.当然,这一组组的node server都可以进行一个node master进行管理.不同的Node server之间可以互相通信.在查询时,可以通过任何一个node server进行查询,这个node server与其他node server间通信,将各个node server之前的search result 组合起来按某个权重排序并返回给Query 用户。同时,不同的node server可以指定不同的priority.
运行

  1. estmaster init testdb

可以产生一个testdb配置目录.然后运行

  1. estmaster start testdb

可以按这个配置来运行一个node master.
发果你没有修改testdb/_config中的服务器地址,那现在可以打开firefox,进入http://localhost:1978/master_ui进行管理。注意默认的用户名密码是admin/admin (我猜这个写程序的大牛一定是1978年生的,人家只比我大5岁,就能写Full-text search engine了).在这个webpage你可以进行node,managers的管理操作.
estmaster命令用来进行node master的管理,estcall 则可以对任一一个node server进行管理,比如

  1. //该例子来自hyperestrainer.sourceforge.net网站
  2. #file data002.est
  3. #
  4. @uri=data002
  5. @title=Liberian Girl
  6.  
  7. Liberian girl
  8. You came and you changed My world
  9. A love so brand new
  10.  
  11. Then, register document using:
  12. # file data002.est结果.
  13. 在命令行中运行
  14. estcall put -auth clint tnilc http://localhost:1978/node/test2 data002.est
  15. 就直接将tile=Liberian Girl,uri=data002这样一个文档添加到test2这个node的索引中去了.

7.Web 蜘蛛
Hyper Estrainer还自行实现了一个蜘蛛。简要介绍其用法:

  1. estwaver init testdb

将建立一个初始目录。咱们看一个testdb/_conf文件:

  1. 1 seed: 1.5|http://hyperestraier.sourceforge.net/uguide-en.html
  2.   2 seed: 1.0|http://hyperestraier.sourceforge.net/pguide-en.html
  3.   3 seed: 1.0|http://hyperestraier.sourceforge.net/nguide-en.html
  4.   4 .....

这里就设定了小蜘蛛要开始抓的网页的地址了.你可以改成你的博客啥的。

  1. estwaver crawl testdb

这个命令将要抓取.

然后检索呢?其实与前面的用法一样,只不过数据目录变成了testdb/_index了:

  1. estcmd search -vs casket/_index "hyper estraier"

怎么样?心动了吧?这样一套好用的东东,还是以LGPL协议发面的,商业应用起来很爽。偶都打算在我的老台式P3上用他来跑一个搜索引擎,打败Google(……你小子就做梦吧….)


上一篇:比AcdSee功能还强大的图片处理、编辑软件,推荐下载!
下一篇:ASP上传漏洞防范
  • 网友评论:
  • 查看所有评论
  • 我要发表评论
您的网名:
留言主题:
你要发表的内容:

 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 发布软件 | 帮助中心 | 源码论坛

Copyright © 2005-2007 CodePub.Com  程序支持:木翼  滇ICP备05005971号