接着上篇nutch1.4的部署应用,我们来部署一下solr,solr是对lucene进行了封装的企业级搜索应用,具体的大家可以去搜一下了解,我这里就不做具体阐述了,我来说一下solr的部署吧。
首先,我们去solr的官网中下载solr,nutch1.4中应用的solr是3.4,那么我们去官网中也下载3.4吧
http://www.apache.org/dyn/closer.cgi/lucene/solr/
找到3.4.0下载apache-solr-3.4.0.zip或者apache-solr-3.4.0.tgz都可以,下载完成后,我们解压缩,解压完毕后,我们去解压一个tomcat,我用的是tomcat6,解压完tomcat6后,我们打开tomcat 的文件夹,
然后我们在tomcat下的conf目录下
创建Catalina\localhost目录(如果存在就不用创建)
然后我们创建solr.xml文件
在里面加入如下语句:
<Context docBase="D:/file/apache-solr-3.4.0/dist/apache-solr-3.4.0.war" reloadable="true" debug="0" privileged="true" allowLinking="true" crossContext="true"> <Environment name="solr/home" type="java.lang.String" value="D:/file/apache-solr-3.4.0/example/solr" override="true" /> <!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127.0.0.1,localhost,192.168.0.127"/> --> </Context>
docBase中是我们的solr的web服务的地址,我们解压solr后,到dist中找到apache-solr-3.4.0.war给引入进来,然后solr/home就是solr的配置和索引地址,测试的话可以引入example/solr,或者把example下的solr 复制到任何位置都可以,只要把solr/home的地址给加正确了就可以。
如果需要控制访问权限则可以配置(上面配置注释的地方):
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127.0.0.1,localhost,192.168.0.127"/>
如果不是来自配置的IP则被拦截会显示403
我们全部配置好了,现在还不行,如果要与nutch进行索引的话,还需要把nutch中的solr配置给copy过来,我们在nutch1.4的conf目录下找到schema.xml文件,然后我们将这个文件copy到solr/home的conf目录下即可,如果不将nutch 下的schema.xml文件copy过去,在生成索引时会出现 一些错误如:
org.apache.solr.common.SolrException: ERROR:unknown field 'content'
配置好了后,然后启动tomcat即可,然后nutch爬取完毕后就会生成索引到solr/home下的data下面:
D:/file/apache-solr-3.4.0/example/solr/data/index下(我的solr/home)