可喜可贺写到了第二篇,照这个势头都可以去写论文了。我的委托人小Y明明计科系出身,看来上学时期肯定脑瓜里都是蔷薇色的,才傻傻来找本熊帮忙。可惜本熊上学时期都是节能减排型的,通关模式向来选Easy,但为了可以愉快的勒索小Y的午餐,本熊也是够拼了。
纯初学者说明模式
本章节主讲实现本地模式
- Solr4.10与Tomcat集成
- 删除Solr索引的方法
- 一点有效但不实用的小技巧
1.Solr与Tomcat集成
集成的原因,初学者的可能会好奇Solr与Tomcat两个都是可以作为服务器,为啥不单用Solr呢?
单独启动Solr也可以,但原因在于将来实现的不是这样的伪集群模式,Solr在搜索引擎中的作用是建立索引,而管理集群的工作则交给了zookeeper,而载体就是Tomcat
可以参照前一章的步骤完成准备工作,接下来就可以正式开工了
1.1 解压Tomcat与solr
这里的路径随意,本熊假设Tomcat的主目录为TomcatPath,Solr的主目录为SolrPath,Nutch的解压后的主目录为NutchPath
以下是本熊的解压位置:
TomcatPath的值就是/home/as/workspace/tomcat
SolrPath的值就是/home/as/下载/solr-4.10.3
NutchPath的值就是/usr/Dzy/apache-nutch-2.3.1
各位看官可以看自己的解压位置替换,本熊只为方便说明。
在TomcatPath下的
/webapps
文件夹内新建名叫solr文件夹在SolrPath下路径
/example/webapps
有名为solr.war的压缩文件,将其复制到刚才新建的solr文件夹内-
在当前目录将solr.war解压
本熊请各位务必注意路径,本熊将截图包括路径,各位可以根据自身情况稍加推理,找到正确的位置。 -
将SolrPath下的
/example
内的solr文件夹复制到TomcatPath路径下,如图
在NutchPath下的
/conf
中的schema.xml文件,复制到TomcatPath下的/solr/collection1/conf
内覆盖原文件
这样第一步准备工作就算完成啦,至于为什么复制Nutch的
schema.xml文件呢?了解过MYSQL的人肯定看这个词很眼熟,这就是告知solr服务器需要保留哪些类型数据的配置文件
1.2 修改solr的配置文件
此处的目的在于修改solr的配置文件,使其能准确的找到core的位置,本熊推测core的作用正是像处数据理机一样,里面集成了分词器等,使其可以可以建立索引。
- 在TomcatPath下
/webapps/solr/WEB-INF
的文件内修改web.xml文件,将选取部分的注释取消(将开头 ````消除即可)
正确的写法是
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/home/as/workspace/tomcat/solr</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
<env-entry-value>
标签下写的是步骤1.1的最后一步复制的solr文件所在的路径,不是solr.war的解压路径
1.3 启动solr
- 在TomcatPath目录下执行以下命令,启动Tomcat
bash startup.sh - 然后在浏览器中输入以下网址
http://localhost:8080/solr/
如果终端显示了Permission denied,这就是权限不够,拒绝执行的意思
su
本熊就用的这个命令来提升权限吧
2.删除Solr索引
本熊简单介绍一下为什么要删除,因为在实验中Nutch抓取后,将抓取到数据存储到Hbase(也可以是其他的数据库)
然后由Solr来生成索引执行查询,如果不删除,那么将永远保留着第一次抓取的结果,无法查询今后的抓取结果
- 在
Core selector
的下拉栏中选择Collection1
,然后再选取Documents
,将右侧的Documents Type
选为XML,如下图
- 然后在下面文本域中输入
<delete><query>:</query></delete>
<commit/>
点击Submit Document
执行,这句话用于清除所有索引,各位可以按需要删除指定的索引,这个得去问Google,本熊是实用派的
3.查询Nutch抓取的数据
如果完成了Nutch的抓取流程,这里可以看见抓取的结果,当然如果没有执行过,里面是什么都查不出来的
所以耐心的跟着本熊往下走完成以后的指南,本熊保证不出大意外,一定会看见的。
- 在
Core selector
的下拉栏中选择Collection1
,然后再选取Query
,点击右侧Execute Query
,如下图
各位看官也可按需要调整查询参数,语法也是很简单的,本熊建议各位少年少女们好好利用百度吧,多查一查也不会有在下百度查我干嘛的
的桥段的。
再次提醒 版本正确,版本正确,版本正确,在下版本有何贵干
?不吐槽了,本熊就是在Nutch抓取成功后,却看不到solr上有任何数据,后来查明就是用了高版本的solr,希望各位少撞点墙了,能保证指甲头发的正常生长。
第二期完
本期可是之后完成Nutch抓取后的重要的检测工作,只有查询时看到了结果才算成功。在看到从没有到出现,那个成就感都让本熊差点忘了目的是刷小Y好感度了。
确实作为程序熊,成就感十分重要,在不知不觉接受越来越厉害的项目时,各位还能找到这份最初的愉悦吗?
下一期讲Hadoop与Hbase的配置
相关内容
[Linux] Nutch 2.3.1+ Hbase + Hadoop + Solr 单机指南(一)
[Linux] Nutch 2.3.1+ Hbase + Hadoop + Solr 单机指南(二)
[Linux] Nutch 2.3.1+ Hbase + Hadoop + Solr 单机指南(三)
[Linux] Nutch 2.3.1+ Hbase + Hadoop + Solr 单机指南(四)