分享

Nutch 2.3.1 Hbase Hadoop Solr 整合(二)

本帖最后由 levycui 于 2016-8-9 14:13 编辑
问题导读:
1、Solr4.10与Tomcat如何集成?
2、Solr索引的
删除方法有哪些?
3、如何查询Nutch抓取的数据?




上一篇:Nutch 2.3.1 Hbase Hadoop Solr 整合(一)

纯初学者说明模式
本章节主讲实现本地模式
  •     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解压

2016-08-09_135147.jpg
本熊请各位务必注意路径,本熊将截图包括路径,各位可以根据自身情况稍加推理,找到正确的位置。

将SolrPath下的/example内的solr文件夹复制到TomcatPath路径下,如图
2016-08-09_135223.jpg
在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文件,将选取部分的注释取消(将开头 <!--的和结尾的-->消除即可)
2016-08-09_135253.jpg
正确的写法是
[mw_shl_code=applescript,true]   <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>[/mw_shl_code]

<env-entry-value>标签下写的是步骤1.1的最后一步复制的solr文件所在的路径,不是solr.war的解压路径

1.3 启动solr

在TomcatPath目录下执行以下命令,启动Tomcat
[mw_shl_code=applescript,true]
    bash startup.sh[/mw_shl_code]

然后在浏览器中输入以下网址http://localhost:8080/solr/

2016-08-09_135352.jpg
如果终端显示了Permission denied,这就是权限不够,拒绝执行的意思

[mw_shl_code=applescript,true]    su[/mw_shl_code]

本熊就用的这个命令来提升权限吧

2.删除Solr索引


本熊简单介绍一下为什么要删除,因为在实验中Nutch抓取后,将抓取到数据存储到Hbase(也可以是其他的数据库)

然后由Solr来生成索引执行查询,如果不删除,那么将永远保留着第一次抓取的结果,无法查询今后的抓取结果

在Core selector的下拉栏中选择Collection1,然后再选取Documents,将右侧的Documents Type选为XML,如下图

2016-08-09_135425.jpg
然后在下面文本域中输入

[mw_shl_code=applescript,true]      <delete><query>*:*</query></delete>
     <commit/>[/mw_shl_code]

点击Submit Document执行,这句话用于清除所有索引,各位可以按需要删除指定的索引,这个得去问Google,本熊是实用派的

3.查询Nutch抓取的数据

如果完成了Nutch的抓取流程,这里可以看见抓取的结果,当然如果没有执行过,里面是什么都查不出来的

所以耐心的跟着本熊往下走完成以后的指南,本熊保证不出大意外,一定会看见的。

在Core selector的下拉栏中选择Collection1,然后再选取Query,点击右侧Execute Query,如下图
2016-08-09_135456.jpg
各位看官也可按需要调整查询参数,语法也是很简单的,本熊建议各位少年少女们好好利用百度吧,多查一查也不会有在下百度查我干嘛的的桥段的。

再次提醒 版本正确,版本正确,版本正确,在下版本有何贵干?不吐槽了,本熊就是在Nutch抓取成功后,却看不到solr上有任何数据,后来查明就是用了高版本的solr,希望各位少撞点墙了,能保证指甲头发的正常生长。
第二期完

本期可是之后完成Nutch抓取后的重要的检测工作,只有查询时看到了结果才算成功。在看到从没有到出现,那个成就感都让本熊差点忘了目的是刷小Y好感度了。

确实作为程序熊,成就感十分重要,在不知不觉接受越来越厉害的项目时,各位还能找到这份最初的愉悦吗?

下一期讲Hadoop与Hbase的配置

来源:甜甜圈短短尾


没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条