这篇文章主要介绍了Nutch+solr+mmseg4j如何集成,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
第一章
安装配置solr4.2
#下载solr4.2.0版本
[root@nutch nutch3]# wget http://archive.apache.org/dist/lucene/solr/4.2.0/solr-4.2.0.tgz
#解压solr4.2.0文件
[root@nutch nutch3]# tar -xzvf solr-4.2.0.tgz
#把nutch/conf/schema.xml复制到solr/collection1/conf
在solr4.2.0版本中,我们需要把nutch的schema-solr4.xml文件复制到collection1下的conf目录内,指定为schema.xml
[root@nutch nutch3]# cp /home/nutch3/release-1.6/runtime/local/conf/schema-solr4.xml /home/nutch3/solr-4.2.0/example/solr/collection1/conf/schema.xml
#启动solr服务器
[root@nutch example]# java -jar start.jar &
启动之后报错:
_version_ does not exist
Unable to use updateLog: _version_field must exist in schema, using indexed="true" stored="true" and multiValued="false" (_version_ does not exist)
不存在_version_字段
解决方案:
修改solr/collection1/conf/schema.xml,在<fields>下增加:<field name=”_version_” type=”long” indexed=”true” stored=”true”/>
#关闭solr服务器
[root@nutch example]# jps
4625 jar
4664 Jps
[root@nutch example]# kill -9 4625
[root@nutch example]#
solr4.2.0版本和solr3.6.2版本,最大的区别在于
在solr4.2.0版本中,我们不再需要把solr/conf/solrconfig.xml文件里的<str name=”df”>text</str>都替换为<str name=”df”>content</str>
#重新启动solr服务器
[root@nutch example]# java -jar start.jar &
打开浏览器访问8983端口
http://192.168.1.49:8983/solr/
给solr4.2配置分词器mmseg4j 1.9.0
我们在不配分词的情况下提交索引,它使用默认的分词。但默认分词效果并不是我们想要的。所以,我们给solr配置mmseg4j分词器。
#停止服务
[root@nutch example]# jps
5927 Jps
5853 jar
[root@nutch example]# kill -9 5853
#下载mmseg4j1.9
[root@nutch nutch3]# wget http://mmseg4j.googlecode.com/files/mmseg4j-1.9.1.v20130120-SNAPSHOT.zip
#unzip命令解压mmseg4j1.9
[root@nutch nutch3]# unzip mmseg4j-1.9.1.v20130120-SNAPSHOT.zip -d mmseg4j-1.9.1
#创建lib目录
[root@nutch nutch3]# mkdir solr-4.2.0/example/solr/collection1/lib
拷贝mmseg4j1.9下dist目录中的3个jar包到solr/collection1/lib目录下
[root@nutch nutch3]# cp mmseg4j-1.9.1/mmseg4j-1.9.1-SNAPSHOT/dist/* solr-4.2.0/example/solr/collection1/lib
修改schema.xml,指定使用seg4j的Tokenizer
[root@nutch nutch3]# vi solr-4.2.0/example/solr/collection1/conf/schema.xml
把<tokenizer class="solr.WhitespaceTokenizerFactory"/>和<tokenizer class="solr.StandardTokenizerFactory"/>替换为<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex"/>
Solr配置分词器主要注意两点:
复制jar包
替换schema分词器
运行SOLR并提交索引
#启动solr服务器
[root@nutch example]# java -jar start.jar &
#提交索引
[root@nutch local]# bin/nutch solrindex http://192.168.1.49:8983/solr/ data/crawldb/ -linkdb data/linkdb/ -dir data/segments/
到solr管理界面去查看索引信息
在网页查看schema.xml配置文件
感谢你能够认真阅读完这篇文章,希望小编分享的“Nutch+solr+mmseg4j如何集成”这篇文章对大家有帮助,同时也希望大家多多支持天达云,关注天达云行业资讯频道,更多相关知识等着你来学习!