我有2个要求。
首先,我希望Nutch只索引包含html中某些单词的页面。例如,我只想要nutch索引html中包含“wounderful”字的页面。 第二个是我希望nutch从网站索引某些URL。例如,我希望nutch索引类似于“mywebsite.com/XXXX/ABC/XXXX”或“mywebsite.com/grow.php/ABC/XXXX”的URL,其中“XXXX”可以是任何长度的任何单词。
这是我的seed.txt文件的内容
http://mysite.org/
这是我的regex-urlfilter.txt
的内容+^http://mysite.org/work/.*?/text/
我评论了
#+.
我仍然低于错误
crawl started in: crawl
rootUrlDir = bin/urls
threads = 10
depth = 3
solrUrl=http://localhost:8983/solr/
topN = 5
Injector: starting at 2013-07-09 11:05:51
Injector: crawlDb: crawl/crawldb
Injector: urlDir: bin/urls
Injector: Converting injected urls to crawl db entries.
Injector: total number of urls rejected by filters: 1
Injector: total number of urls injected after normalization and filtering: 0
Injector: Merging injected urls into crawl db.
Injector: finished at 2013-07-09 11:06:08, elapsed: 00:00:17
Generator: starting at 2013-07-09 11:06:08
Generator: Selecting best-scoring urls due for fetch.
Generator: filtering: true
Generator: normalizing: true
Generator: topN: 5
Generator: jobtracker is 'local', generating exactly one partition.
Generator: 0 records selected for fetching, exiting ...
Stopping at depth=0 - no more URLs to fetch.
No URLs to fetch - check your seed list and URL filters.
crawl finished: crawl
答案 0 :(得分:2)
Start here设置您想要的网址格式。然后look into plugins解析您的内容并决定应该将哪些内容编入索引。
答案 1 :(得分:0)
它显示Injector拒绝您的种子文件中的网址
Injector: total number of urls rejected by filters: 1
您的正则表达式无法正常工作,或者会有任何其他模式拒绝您的网址,例如-.*(/[^/]+)/[^/]+\1/[^/]+\1/
或-[?*!@=]
答案 2 :(得分:0)
知道这已经很老了,但只是想把我的两分钱加到与爬行与索引过滤器相关的主题上,对于nutch-1.13
regex-urlfilter测试
如果你想测试你的regex-urlfilter.txt表达式,你可以像这样使用插件测试
$ bin/nutch plugin urlfilter-regex org.apache.nutch.urlfilter.regex.RegexURLFilter
这将不提供任何反馈,但是如果您输入网址并按Enter键,您会看到它的回显,带有“ - ”或“+”前缀,告诉您网址是否通过配置过滤器。
,例如
http://aaa.com
-http://aaa.com
http://bbb.com
+http://bbb.com
如果配置类似
+^http://bbb.com\.*
-.*
抓取过滤器与索引过滤器
这没有很好的记录,并花了一段时间才找到线索。 如果我们想要制作不同的过滤精度(广泛的爬行,但更详细的索引),我们可以做到以下几点。
首先,如果我们使用bin / crawl脚本,只需添加
< __bin_nutch index $JAVA_PROPERTIES "$CRAWL_PATH"/crawldb -linkdb "$CRAWL_PATH"/linkdb "$CRAWL_PATH"/segments/$SEGMENT
> __bin_nutch index $JAVA_PROPERTIES -Durlfilter.regex.file=regex-urlfilter-index.txt "$CRAWL_PATH"/crawldb -linkdb "$CRAWL_PATH"/linkdb "$CRAWL_PATH"/segments/$SEGMENT -filter
否则,只需将这两个参数附加到bin / nutch index命令,如果你在没有抓取脚本的情况下使用它们
现在,在'regex-urlfilter-index.txt'文件中输入所需的配置。
感谢grokbase中的Arthurs问题: http://grokbase.com/t/nutch/user/1579evs40h/filtering-at-index-time-with-a-different-regex-urlfilter-txt-from-crawl