Hawk-0.6.22测试版搜索引擎平台发布
Hawk 搜索引擎平台目标是面向中小型网站,可以定制的垂直搜索引擎平台。本搜索引擎平台目标是方便用户搭建站内搜索、某个领域的垂直搜索、以及检索个人文档以及自己关注的网站信息的桌面搜索等应用领域。它改造自Lucene/Hadoop/Nutch系统,是纯Java的搜索平台软件,可以运行于Windows及Linux等多种平台。
本次发布的版本为第二个测试版(Hawk-0.6.22-test),目前主要特点有:
- 对网页进行深度抓取和分析,自定义抓取规则,实现站内搜索。
- 可以索引各种常用类型文档,实现桌面文档检索。
- 单台PC服务器能索引上千万文档,可以用于中小型检索服务。
- 可以自定义网页展示模板,或XML接口,轻松与各种系统整合。
- 自动分析网页文本,提取新词,如人名,地名等。
- 支持检索词自动推荐以及繁简转换功能。
- 可以定制主页的各项文字,包括包含自己的欢迎网页。
快速安装步骤
1.下载和安装
- 1.请下载Java运行环境,推荐Java SE 1.6版本
- 2.下载 Hawk-0.6.22-test
- 3.解压:tar -zxf hawk-0.6.22-test.tar.gz (Windows用户请使用winrar软件解压)
- 4.假设Hawk已被解压到 hawk-0.6.22 目录,以下叙述以$HAWK表示
2.配置
- 1.将Java运行环境的bin目录添加到系统PATH环境变量中,同时修改$HAWK/conf/hawk-env.sh文件设置正确的Java路径。备注:在Linux平台Java缺省会安装在/usr/java目录下
- 2.也可以将hawk解压后目录 $HAWK/bin 添加到PATH环境变量中,方便启动和停止Hawk服务。
- 3.修改 $HAWK/conf/hawk-site.xml 文件中的“search.dir”的值为索引数据存放路径,如Linux平台下(Windows用户可以设为c:\hawkdb等)
- 1.
<property> <name>searcher.dir</name> <value>/tmp/hawkdb</value> </property>
- 4.Hawk系统服务会绑定若干个端口,请查看$HAWK/conf/site.xml,酌情修改
3.启动服务
- 1.Linux平台使用$HAWK/bin/hawk脚本启动,Windows平台使用$HAWK/bin/hawk.bat脚本,方法都如下
- 1.启动jobtracker服务:$HAWK/bin/hawk jobtracker
- 2.启动tasktracker服务:$HAWK/bin/hawk tasktracker
- 2.Linux平台还可以使用$HAWK/bin/start-hawk.sh和stop-hawk.sh脚本将上面两个服务启动在后台运行,如下
- 1.启动:$HAWK/bin/start-hawk.sh
- 2.停止:$HAWK/bin/stop-hawk.sh
- 3.访问服务web界面:http://localhost:10030
4.抓取网页
- 1.编辑一个文本文件,录入要抓取网站地址,一行一个地址。并放入一个独立的目录中,如urls目录。如Linux下:vi /tmp/test/urls.txt 录入 http://news.sina.com.cn
- 2.编辑$HAWK/data/crawl-urlfilter.txt,加入如下行以限制只抓取上面网站的网页:如:+^http://([a-z0-9]*\.)*news.sina.com.cn/
- 3.执行命令(指定urls目录和抓取深度):$HAWK/bin/hawk build urls -crawlargs “-depth 3″
- 4.之后hawk系统将自动抓取指定地址和深度的网页,存储在索引数据目录中,并完成分析和索引处理。
5.检索
- 1.手工检索命令:$HAWK/bin/hawk search 检索词
- 2.web界面检索,启动检索服务:$HAWK/bin/hawk webserver,访问 http://localhost:10090 地址,输入检索词既可。也可以重新启动上面的jobtracker服务来检索。
6.自定义网页模版,实现站内搜索
- 1.Hawk支持自定theme设计,以及xml接口,模板均存放在$HAWK/webapps/themes下,以目录命名。
- 2.请仿照缺省提供的mac模板和xml目录定义适合自己应用的模板。
- 3.如果希望不允许用户更改自己的theme,请设置$HAWK/conf/hawk-site.xml中hawk.site.theme项为制定的theme名,如mac。
- 4.访问 http://localhost:10090/hawk 将会使用该模板。
- 5.请修改 $HAWK/webapps/root/index.html 指向正确的网页,或修改为搜索首页。
- 6.修改 $HAWK/resources/appLocalStrings.properties 资源文件来定制主页的文字。其中简体中文资源文件请修改 appLocalStrings_zh.txt 文件,然后使用 native2ascii appLocalStrings_zh.txt > appLocalStrings_zh.properties 命令转换。 .properties 资源文件中的 hawk.welcome.location 项为自定义的欢迎网页,可以设置为一个web url 或者 file:/tmp/welcome.html 这样的文件路径。
- 7.appLocalStrings
7.索引本地硬盘文档,实现桌面检索
- 1.Hawk也可以索引本地硬盘的常用文档,如office文档,pdf,swf, mp3等。
- 2.只需在urls文件中录入保存文档的目录,以及指定文档格式即可,如索引Linux系统下的文档如下:file:/usr/share/doc?d_asfiles=true&f_include=doc,html,htm,ppt,pdf,txt,xls&f_localdir=/usr/share/doc&f_webdir=http://javenstudio.org/doc
- 3.其它步骤同上。
- 4.其中的 f_localdir 和 f_webdir 为它们的本地磁盘路径和对外发布的web路径,索引时会使用web url存储。
copyright 2008 http://javenstudio.org