首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

施用nutch检索的历程

2012-12-26 
使用nutch检索的历程最近开始做一个项目的搜索引擎,技术选型为爬虫nutch。开始以为除了cms系统发布的静态页

使用nutch检索的历程
    最近开始做一个项目的搜索引擎,技术选型为爬虫nutch。开始以为除了cms系统发布的静态页面以外,还有数据库存储的结构化数据需要索引(其实这些用页面是用jsp展示的,在系统中已经有了)。所以用爬虫爬完网站后,就想着再把结构化的数据通lucene的api写进nutch的索引中,最后通过多次尝试发现很难实现。虽然能将lucene建立的索引追加进到nutch的索引中,可是却很难读出来(有一款luke软件可以,可是想要赶紧完成项目,这个luke的源码没有时间来读)。
    lucene是一个平面化的存储,一个索引就相当于数据库的一张表。而nutch的存储结构是hdfs存储系统,hadoop的分布式系统,索引里面写入了很多hadoop的数据,而且其中10个字段title/url/segment/host/site/content/anchor/boost/digest/tstamp业也不像原生的lucene索引的存放方式。多次尝试发现用lucene基础api读取nutch的索引很难实现。
    最近才发现原来nutch的搜索应用中的一个的一个配置文件regex-urlfilter.txt ,里面默认在后台只爬取静态页面。所以导致我开始的想法。
    知道这个以后好办了,修改后台和前台应用的配置文件,消除对php/jsp/xxAction.do等动态url的过滤:
    方法如下:修改conf下面的2个文件regex-urlfilter.txt,crawl-urlfilter.txt
    将
  # skip URLs containing certain characters as probable queries, etc.
  -[?*!@=]
   修改成
       # accept URLs containing certain characters as probable queries, etc.
       +[?=&]
   从而允许动态传参数的?=&等url的爬取。
   换了个思路,省了不少事儿。nutch继续研究使用中

热点排行