一.安装文件准备
1. Nutch1.2 此版本是基于lucene3.0版本的。
2. Solr1.4 此版本是基于lucene2.9版本的(顺便说一下:solr3.2是基于lucene3.2版本的,无法与nutch1.2兼容,使用nutch为solr建立index时会报错,原因应该是低版本的索引创建无法兼容高版本的lucene)。
3. Jdk1.6 这里使用的nutch1.2是基于jdk1.6版本的,低版本jdk 无法兼容。
4. Tomcat6.0 应用服务器的随意了,只要不报错就行,tomcat5.0可能出错,需要添加相应的jar包和环境变量。
二.安装(略)
前两篇已经介绍了如何搭建nutch和solr,这里的基本流程与前面无异。
三.准备配置文件
1. 将D:\nutch-1.2\conf下的schema.xml文件拷贝到D:\apache-solr-1.4.1\example\solr\conf目录中并将原来的schema.xml文件重命名备份,该配置文件用于定义索引的生成规则。
2. 修改刚才拷贝过来的schema.xml文件,找到字段content
修改为
stored="true" indexed="true"/>
3. 修改中文分词(此处先略过,后面介绍)
四.使用nutch抓取网页,并为solr建立索引文件
1. 启动solr1.4的web 应用程序
http://localhost:8080/solr (查看是否能够访问)
2. 打开cygwin,进入nutch的bin目录下,开始抓取网页并建立索引。
方法一: 直接抓取文件,并建立索引
./nutch crawl urls -dir sina -depth 2 -threads 10 -topN 1000 -solr http://localhost:8080/solr
方法二: 先抓取文件,后建立索引
./nutch crawl urls -dir sina -depth 10 -threads 10 -topN 10
./nutch solrindex http://localhost:8080/solr sina/crawldb/ sina/linkdb/ sina/segments/*
五.测试使用solr查询被nutch抓取的网页
六.中文分词配置
已经基本完成了nutch与solr 的整合,但原始分词对于中文支持极差,就连简单的短语分词都无法完成,solr3.2已经对此进行了改进,对中文分词支持了。
1. 文分词Factory创建
需要使solr 查询支持中文分词需要自定义TokenizerFactory,下面是一个基于IKAnalyzer3.2.8.jar的分词,具体代码如下:
package com.linkage.users.vo;
import java.io.Reader;
import org.apache.lucene.analysis.Tokenizer;
import org.apache.solr.analysis.BaseTokenizerFactory;
import org.wltea.analyzer.lucene.IKTokenizer;
public class ChineseTokenizerFactory extends BaseTokenizerFactory {
public Tokenizer create(Reader input) {
return new IKTokenizer(input,false);
}
}
编译完成后将工程导出成jar包,并将此包与IKAnalyzer3.2.8.jar放入solr的web应用的lib目录下。
2. 修改schema配置文件
lass="solr.WhitespaceTokenizerFactory"/>
修改为
lass="com.linkage.users.vo.ChineseTokenizerFactory"/>
保存该文件。
3. 重启solr 的web应用程序,并按第四步,重新建立对网页的索引,之前的索引因分词原因,已经无法进行准确搜索,所以需要重建索引。
4. 建立完毕,按第五步进行查询测试,可以点击ANALYSIS按钮,进行分词测试
七.具体查询语法可见官方网站
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23071790/viewspace-703827/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/23071790/viewspace-703827/