显示标签为“Heritrix”的博文。显示所有博文
显示标签为“Heritrix”的博文。显示所有博文

2010年11月21日星期日

用NutchWAX搭建本地搜索引擎

目的:
使用NutchWAX对使用Heritrix抓下来的arc(Internet Archive)文件进行索引, 并搭建检索系统.

环境:
ubuntu 10.10
OpenJDK 6.x
NutchWAX 0.13
tomcat 6.x

步骤:
 * tar xzvf nutchwax-0.13.tar.gz
 * cd nutchwax-0.13
 * 创建文件manifest, 内容如下:
/absolute/path/to/your/somearchive0.arc.gz mycollection
/absolute/path/to/your/somearchive1.arc.gz mycollection
 * bin/nutchwax import manifest
 * bin/nutchwax index indexes segments/*
 * bin/nutchwax merge index indexes  
 * sudo apt-get install tomcat6
 * sudo mkdir /var/lib/tomcat6/crawl
 * sudo mv index /var/lib/tomcat6/crawl
 * sudo mv indexes /var/lib/tomcat6/crawl
 * sudo mv segments /var/lib/tomcat6/crawl
 * sudo cp nutch-1.0.war /var/lib/tomcat6/webapps/


现在打开http://localhost:8080/nutch-1.0应该可以进行搜索了.
下面稍微对nutch的界面进行一下修改:

修改/var/lib/tomcat6/webapps/nutch-1.0/search.jsp :


1. 将 int hitsPerSite = 2; 修改为:
int hitsPerSite = 0;
这样就不会在显示搜索结果时只显示两个了.

2. 默认搜索结果页面只有"下一页"按钮, 很不方便, 所以需要添加分页显示功能. 在尾部添加:

(代码就不贴了, 贴出来是乱码...具体参考Nutch的分页功能)


这样可以显示附近11页(这段代码是别人写的, 可能有点bug )的页面链接.




TODO:
1. 中文分词?
2. wayback网页快照?
3. 排序算法?





参考:
HOWTO.txt
Nutch的分页功能
搜索引擎nutch分页功能
NutchWAX-0.12.9 Japanization

2010年9月30日星期四

Ubuntu下配置和运行Heritrix

1. 因为决定从源码运行Heritrix, 所以首先安装Eclipse:
$sudo apt-get install eclipse

2. 下载Heritrix源码:
http://sourceforge.net/projects/archive-crawler/files/

3. 解压:
$tar xzvf /home/xxx/workspace/heritrix-1.14.4-src.tar.gz

4. 将文件夹改名为heritrix(不是必须的, 这里是便于导入到eclipse):
$mv heritrix-1.14.4 heritrix

5. 打开eclipse, New->Java Project->Create Project from exsiting source
注意保证输入的Project Name和项目文件夹名称一致.

6. 进入Run Configurations, 指定Main class为
org.archive.crawler.Heritrix
添加VM arguments:
-Dheritrix.development -Xmx512m

添加Classpath: Advanced->Add External Folder, 将src/conf和src/resources添加到Classpath中. 否则会报两个错误:
Exception in thread "main" java.io.IOException: Failed to load properties file from filesystem or from classpath.
    at org.archive.crawler.Heritrix.getPropertiesInputStream(Heritrix.java:924)
    at org.archive.crawler.Heritrix.loadProperties(Heritrix.java:863)
    at org.archive.crawler.Heritrix.containerInitialization(Heritrix.java:492)
    at org.archive.crawler.Heritrix.main(Heritrix.java:555)

2010-07-10 10:03:01.250 严重 thread-10 org.archive.util.ArchiveUtils.() TLD list unavailable
java.lang.NullPointerException
 at java.io.Reader.(Unknown Source)
 at java.io.InputStreamReader.(Unknown Source)
 at org.archive.util.ArchiveUtils.(ArchiveUtils.java:759)
 ........
更严重的是, 会使Heritrix的Modules界面不能改变选择项.


7. 其他诸如设置用户名密码, 添加和运行job之类的, 这里就不详细说明了, 以下是一些参考链接:
Heritrix User Manual
Heritrix developer documentation
基于lucence+heritrix的开源搜索引擎构建(一)
Heritrix使用的初步总结