標籤:nutch centos solr
環境
Linux版本:CentOS 6.5 JDK版本:JDK 1.7 Nutch版本:Nutch 1.7 Solr版本:Solr 4.7 IK版本:IK-Analyzer 2012 |
目錄
1.安裝JDK
2.安裝Solr
3.為Solr配置IK分詞
4.安裝Nutch
內容
1.安裝JDK
1.1 在/usr/下建立java/目錄,下載JDK包並解壓
[[email protected] ~]# mkdir /usr/java [[email protected] ~]# cd /usr/java[[email protected] ~]# curl -O http://download.oracle.com/otn-pub/java/jdk/7u75-b13/jdk-7u75-linux-x64.tar.gz[[email protected] java]# tar –zxvf jdk-7u75-linux-x64.gz
1.2 設定環境變數
[[email protected] java]# vi /etc/profile
添加以下內容:
#set JDK environmentJAVA_HOME=/usr/java/jdk1.7.0_75JRE_HOME=$JAVA_HOME/jreCLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/libPATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/binexport JAVA_HOME JRE_HOMECLASS_PATH PATH
使修改生效:
[[email protected] java]# source /etc/profile
1.3 驗證
[[email protected] java# java -version
2.安裝Solr
2.1 在/usr/下建立solr目錄,下載Solr安裝包並解壓
[[email protected] ~]# mkdir /usr/solr[[email protected] ~]# cd /usr/solr[[email protected] solr]# curl -O http://archive.apache.org/dist/lucene/solr/4.7.0/solr-4.7.0.tgz[[email protected] solr]# tar –zxvfsolr-4.7.0.tgz
2.2 啟動Jetty
這裡使用Solr內建的Jetty伺服器
[[email protected] solr]# cd solr-4.7.0/example[[email protected] example]# java -jar start.jar
2.3 驗證
在瀏覽器輸入:http://10.192.87.198:8983/solr#/collection1/query
3.為Solr配置IK分詞
3.1 下載IK-Analyzer-2012
解壓之後,將IKAnalyzer.cfg.xml、IKAnalyzer2012_FF.jar、stopword.dic三個檔案上傳到/usr/solr/solr-4.7.0/example/solr-webapp/webapp/WEB-INF/lib/目錄下
3.2 修改/usr/solr/solr-4.7.0/example/solr/collection1/conf/schema.xml設定檔
[[email protected] solr]# cd /usr/solr/solr-4.7.0/example/solr/collection1/conf/[[email protected] solr]# vi schema.xml
在<type></types>中增加如下內容:
<fieldTypename="text_ik" class="solr.TextField"> <analyzer type="index"isMaxWordLength="false"class="org.wltea.analyzer.lucene.IKAnalyzer"/> <analyzer type="query"isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/></fieldType>
3.3 驗證
重啟Solr,開啟http://10.192.87.198:8983/solr/#/collection1/analysis,測試一下:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6C/70/wKioL1VJoRWhJJ4LAAHm37pQh1I469.jpg" title="搜狗15年05月06日1258_2.png" alt="wKioL1VJoRWhJJ4LAAHm37pQh1I469.jpg" />
分詞結果:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6C/74/wKiom1VJnzWBTzyzAAHfJ3s8pkU018.jpg" style="float:none;" title="sdsd.png" alt="wKiom1VJnzWBTzyzAAHfJ3s8pkU018.jpg" />
4.安裝Nutch
4.1 在/usr/下建立nutch目錄,下載Nutch安裝包並解壓
[[email protected] ~]# mkdir /usr/nutch[[email protected] ~]# cd /usr/nutch[[email protected] nutch]# curl -O http://archive.apache.org/dist/nutch/1.7/apache-nutch-1.7-bin.tar.gz[[email protected] nutch]# tar –zxvf apache-nutch-1.7-bin.tar.gz
4.2 修改nutch-site.xml設定檔
[[email protected] nutch]# cd apache-nutch-1.7/conf[[email protected] conf]# vi nutch-site.xml
在<configuration>..</configuration>中添加欄位,如下:
<configuration> <property> <name>http.agent.name</name> <value>Friendly Crawler</value> </property> <property> <name>parser.skip.truncated</name> <value>false</value> </property></configuration>
4.3 修改regex-urlfilter.txt檔案,設定過濾規則
[[email protected] conf]# vi nutch-site.xml
這裡是以Regex匹配你希望爬取的網站的地址。
如下面例子,用Regex來限制爬蟲的範圍僅限於sohu.com這個域
修改前:
+.
修改後:
+^http://([a-z0-9]*\.)*sohu.com
4.4 設定所要爬取的網站
[[email protected] conf]# cd /usr/nutch/apache-nutch-1.7[[email protected] apache-nutch-1.7]# mkdir urls[[email protected] apache-nutch-1.7]# echo "http://www.sohu.com">urls/seed.txt
4.5 執行命令,進行爬取
[[email protected] apache-nutch-1.7]# bin/nutch crawl urls -dir crawl -depth 2 -topN 5
使用tree查看/usr/nutch/apache-nutch-1.7/crawl目錄
[[email protected] apache-nutch-1.7]# tree crawl/crawl/├── crawldb│ ├── current│ │ └── part-00000│ │ ├── data│ │ └── index│ └── old│ └── part-00000│ ├── data│ └── index├── linkdb│ └── current│ └── part-00000│ ├── data│ └── index└── segments ├── 20150326234924 │ ├── content │ │ └── part-00000 │ │ ├── data │ │ └── index │ ├── crawl_fetch │ │ └── part-00000 │ │ ├── data │ │ └── index │ ├── crawl_generate │ │ └── part-00000 │ ├── crawl_parse │ │ └── part-00000 │ ├── parse_data │ │ └── part-00000 │ │ ├── data │ │ └── index │ └── parse_text │ └── part-00000 │ ├── data │ └── index └── 20150326234933 ├── content │ └── part-00000 │ ├── data │ └── index ├── crawl_fetch │ └── part-00000 │ ├── data │ └── index ├── crawl_generate │ └── part-00000 ├── crawl_parse │ └── part-00000 ├── parse_data │ └── part-00000 │ ├── data │ └── index └── parse_text └── part-00000 ├── data └── index
已經爬取到資料。
4.6 整合Solr
編輯/usr/solr/solr-4.7.0/example/solr/collection1/conf/schema.xml檔案,在<field>…</fields>中增加如下欄位:
<fieldname="host" type="string" stored="false"indexed="true"/> <field name="digest"type="string" stored="true" indexed="false"/> <field name="segment"type="string" stored="true" indexed="false"/> <field name="boost"type="float" stored="true" indexed="false"/> <field name="tstamp"type="date" stored="true" indexed="false"/> <field name="anchor"type="string" stored="true" indexed="true" multiValued="true"/> <fieldname="cache" type="string" stored="true"indexed="false"/>
重啟Solr,重新爬取
[[email protected] apache-nutch-1.7]# bin/nutch crawl urls -dir crawl -depth 2 -topN 5 -solr http://10.192.86.156:8983/solr
4.7 查看結果
在瀏覽器輸入http://10.192.86.156:8983/solr#/collection1/query,進行查詢
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6C/74/wKiom1VJpyThTpuJAAKE4JW3WFM246.jpg" title="搜狗15年05月06日1331_4.png" alt="wKiom1VJpyThTpuJAAKE4JW3WFM246.jpg" />
CentOS 6.5+Nutch 1.7+Solr 4.7+IK 2012