最近学习搜索引擎,以下为整理学习笔记:
1.Nutch是一个开源的网络爬虫项目,更具体些是一个爬虫软件,可以直接用于抓取网页内容。
2.现在Nutch分为两个版本,1.x和2.x。1.x最新版本为1.9,2.x最新版本为2.2.1。
3.两个版本的主要区别在于底层的存储不同。1.x版本是基于Hadoop架构的,底层存储使用的是HDFS,而2.x通过使用Apache Gora,使得Nutch可以访问HBase、Accumulo、Cassandra、MySQL、DataFileAvroStore、AvroStore等NoSQL。目前 Nutch 存在两个分支版本,分别是 1.x 和 2.x,而 1.x 看起来更加稳定,提供更多的插件;但 2.x 分支实现了Apache Gora ,因此可以将扒到的数据写入 SQL/NoSQL 数据存储,而不只是 Solr。
Luke是一个可以查看lucene索引的工具
JavaCC nutch处理分词时编译.jj文件生成jar
Nutch目前是两条线路开发,所以2.x并不比1.x来的高,来的新。
- 1.x(目前,最新1.8,默认搭配hadoop1.2,可以搭配hadoop2.2。)
- 2.x(目前,最新2.2.1,默认搭配hadoop1.2,并且不可以搭配hadoop2.2,因为,gora0.3可以使用hbase0.90.x和0.92.x,但此版本的hbase不能用hadoop2.2,而hadoop1.2是可以的。)
环境搭建
Nutch搭建
- 1.x(目前,最新1.8.)
- Nutch 1.7, Hadoop 1.2.1, CentOS 6.5, JDK 1.7 把Nutch爬虫部署到Hadoop集群上
- Nutch 1.7 单机 官方tutorial
- 2.x(目前,最新2.2.1)
- hadoop+hbase+Nutch2.1 Nutch的安装与配置(for linux)
- Nutch 2.2+MySQL+Solr4.2实现网站内容的抓取和索引
- 在Eclipse中运行Nutch
Solr搭建
Solr本身
- 4.7
中文分词
分词插件
- jcseg
- jcseg是使用Java开发的一个中文分词器,使用流行的mmseg算法实现。
- 目前最高版本:jcseg 1.9.3。兼容最高版本lucene-4.x和最高版本solr-4.x
- mmseg四种过滤算法,分词准确率达到了98.41%。
- jcseg是使用Java开发的一个中文分词器,使用流行的mmseg算法实现。
- IK Analyzer
- 采用了特有的“正向迭代最细粒度切分算法“,支持细粒度和智能分词两种切分模式;
- 最新版本2012年10月
- mmseg4j
- mmseg4j 用 Chih-Hao Tsai 的 MMSeg 算法(http://technology.chtsai.org/mmseg/ )实现的中文分词器,并实现 lucene 的 analyzer 和 solr 的TokenizerFactory 以方便在Lucene和Solr中使用。
- MMSeg 算法有两种分词方法:Simple和Complex,都是基于正向最大匹配。Complex 加了四个规则过虑。官方说:词语的正确识别率达到了 98.41%。mmseg4j 已经实现了这两种分词算法。
- 最新版本2013-07-13版本1.9.1兼容 solr 4.3.1
- mmseg4j 用 Chih-Hao Tsai 的 MMSeg 算法(http://technology.chtsai.org/mmseg/ )实现的中文分词器,并实现 lucene 的 analyzer 和 solr 的TokenizerFactory 以方便在Lucene和Solr中使用。
- ansj
- ansj分词.ict的真正java实现.分词效果速度都超过开源版的ict. 中文分词,人名识别,词性标注,用户自定义词典
- 正在积极开发中
- d
插件安装
源码分析
书籍
- Solr in action 讲的版本是Solr4.7(目前最新)
- Solr官方推荐书籍
- Web Crawling and Data Mining with Apache Nutch
论文
其他
- 《Nutch公开课从搜索引擎到网络爬虫》百度文库
- Nutch二次开发
- Nutch1.7二次开发培训讲义 之 腾讯微博抓取分析
- http://wiki.apache.org/nutch/HttpAuthenticationSchemes
- Nutch Command line Option
- SolrCloud
- Dump Lucene Index
- nutch-mongodb-indexer
观察nutchcrawl的每一步
Solr配置文件:schema.xml
深入Solr实战
Lucene/ Solr开发经验
NutchTutorial
Hadoop Shell命令
DataNode节点上数据块的完整性——DataBlockScanner
hadoop nutch solr 环境搭建手册
Solr调研总结
Nutch的命令详解