[Linux] Nutch 2.3.1+ Hbase + Hadoop + Solr 单机指南(二)


可喜可贺写到了第二篇,照这个势头都可以去写论文了。我的委托人小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解压
    [Linux] Nutch 2.3.1+ Hbase + Hadoop + Solr 单机指南(二)_第1张图片
    本熊请各位务必注意路径,本熊将截图包括路径,各位可以根据自身情况稍加推理,找到正确的位置。

  • 将SolrPath下的/example内的solr文件夹复制到TomcatPath路径下,如图
    [Linux] Nutch 2.3.1+ Hbase + Hadoop + Solr 单机指南(二)_第2张图片

  • 在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文件,将选取部分的注释取消(将开头 消除即可)
    [Linux] Nutch 2.3.1+ Hbase + Hadoop + Solr 单机指南(二)_第3张图片

正确的写法是

   
       solr/home
       /home/as/workspace/tomcat/solr
       java.lang.String
   

标签下写的是步骤1.1的最后一步复制的solr文件所在的路径,**不是**solr.war的解压路径

1.3 启动solr

  • 在TomcatPath目录下执行以下命令,启动Tomcat
    bash startup.sh
  • 然后在浏览器中输入以下网址
    http://localhost:8080/solr/

[Linux] Nutch 2.3.1+ Hbase + Hadoop + Solr 单机指南(二)_第4张图片

如果终端显示了Permission denied,这就是权限不够,拒绝执行的意思

    su

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

2.删除Solr索引

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

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

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

[Linux] Nutch 2.3.1+ Hbase + Hadoop + Solr 单机指南(二)_第5张图片

  • 然后在下面文本域中输入

    *:*
    

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

3.查询Nutch抓取的数据

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

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

  • Core selector的下拉栏中选择Collection1,然后再选取Query,点击右侧Execute Query,如下图

[Linux] Nutch 2.3.1+ Hbase + Hadoop + Solr 单机指南(二)_第6张图片

各位看官也可按需要调整查询参数,语法也是很简单的,本熊建议各位少年少女们好好利用百度吧,多查一查也不会有在下百度查我干嘛的的桥段的。

再次提醒 版本正确,版本正确,版本正确,在下版本有何贵干?不吐槽了,本熊就是在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 单机指南(四)

你可能感兴趣的:(搜索引擎)