日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Cygwin,Nutch安装配置,检验是否正确(对网友守望者博客的修改---在此感谢守望者)4

發布時間:2024/9/27 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Cygwin,Nutch安装配置,检验是否正确(对网友守望者博客的修改---在此感谢守望者)4 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Cygwin,Nutch安裝配置,檢驗是否正確(對網友守望者博客的修改---在此感謝守望者)1

Cygwin,Nutch安裝配置,檢驗是否正確(對網友守望者博客的修改---在此感謝守望者)2

Cygwin,Nutch安裝配置,檢驗是否正確(對網友守望者博客的修改---在此感謝守望者)3

Cygwin,Nutch安裝配置,檢驗是否正確(對網友守望者博客的修改---在此感謝守望者)4


一、開發環境介紹(以我個人為例):

個人開發端:windows Server 2003 + Cygwin + Eclipse3.2

二、準備工作:

<1>.將Nutch導入eclipse,導入過程詳情請點擊查看文章

<2>.下載IKAnalyzer(http://code.google.com/p/ik-analyzer/downloads/list),本文采用的IKAnalyzer版本是3.2.8

<3>.下載Ant(http://ant.apache.org/bindownload.cgi)

<4>.下載Javacc(http://javacc.java.net/)

三、具體步驟:

注:在進行這些操作的之前請先將IKAnalyzer復制到nutch\lib文件夾下

并在eclipse的Nutch項目中添加這個jar包。

過程如下:

(1).先把工程刷新一下。

(2).右鍵工程名->build path –> configure build path

(3).在Libraries選項卡中點擊add Jars,然后在你的工程的目錄下lib文件中選擇剛剛添加的IKAnalyzer3.2.8.jar。

<1>.在src/java/org/apache/nutch/analysis包下找到NutchAnalysis.jj

(1).在 PARSER_BEGIN(NutchAnalysis)部分的導入聲明中增加如下段

import org.wltea.analyzer.lucene.IKTokenizer;

(2).在 TOKEN_MGR_DECLS : {??? 下面增加如下段

IKTokenizer Analyzer;

TermAttribute termAtt = null;//代表用空格分割器分出來的一個中文詞

OffsetAttribute offAtt = null;//中文詞開始結束標記

TokenStream stream = null;

private int cjkStartOffset = 0;//中文片段的起始位置定義

(3). 到 TOKEN : { 部分,找到| <SIGRAM: <CJK> >,這代表按字劃分,修改為| <SIGRAM: (<CJK>)+ >

并在其后面加上

{?
??? if (stream == null) {?
??????????????? stream? = new IKTokenizer(new StringReader(image.toString()),true);?
??????????????? //stream = Analyzer.tokenStream("",new StringReader(image.toString()));?
??????????????? cjkStartOffset = matchedToken.beginColumn;?
??????????????? try {?
??????????????????? stream.reset();?
??????????????? } catch (IOException e) {?
??????????????????? e.printStackTrace();?
??????????????? }?
??????????????? termAtt = (TermAttribute) stream.addAttribute(TermAttribute.class);?
??????????????? offAtt = (OffsetAttribute) stream.addAttribute(OffsetAttribute.class);?
??????????????? try {?
??????????????????? if (stream.incrementToken() == false)?
??????????????????????? termAtt = null;?
??????????????? } catch (IOException e) {?
??????????????????? // TODO Auto-generated catch block?
??????????????????? e.printStackTrace();?
??????????????? }?
??????????? }?
??????????? if (termAtt != null && !termAtt.term().equals("")) {?
??????????????? matchedToken.image = termAtt.term();?
??????????????? matchedToken.beginColumn = cjkStartOffset + offAtt.startOffset();?
??????????????? matchedToken.endColumn = cjkStartOffset + offAtt.endOffset();?
??????????????? try {?
??????????????????? if (stream.incrementToken() != false)?
??????????????????????? input_stream.backup(1);?
??????????????????? else?
??????????????????????? termAtt = null;?
??????????????? } catch (IOException e) {?
??????????????????? e.printStackTrace();?
??????????????? }?
??????????? }?
??????????? if (termAtt == null || termAtt.term().equals("")) {?
??????????????? stream = null;?
??????????????? cjkStartOffset = 0;?
??????????? }?
}

(4).將NutchAnalysis.jj復制到其他目錄下,進行Javacc編譯.

用javacc工具生成NutchAnalysis.jj的源代碼,將生成的所有java源代碼(7個文件)全部覆蓋到 src/java/org/apache/nutch/analysis包下.

javacc的使用方法:cmd進入命令行,切換到NutchAnalysis.jj所在目錄(最后把它拷貝到其它目錄進行編譯,如D盤),D:輸入命令

javacc NutchAnalysis.jj

就會生成7個文件了。

(5).此時NutchAnalysis.java會報錯

在兩個位置加入ParseException異常捕捉命令(詳情見圖)

(6).修改完上面的你會發現org.apache.nutch.searcher包中的Query.java報錯。

解決方法是找到報錯的地方用try{}catch(){}語句抓住異常,不要拋出,否則接下來還要改很多文件。

<2>.修改src/java/org/apache/nutch/analysis包下的NutchDocumentAnalyzer

在private static Analyzer ANCHOR_ANALYZER;后面加上

private static Analyzer MY_ANALYZER;

在ANCHOR_ANALYZER = new AnchorAnalyzer();后面加上

MY_ANALYZER = new IKAnalyzer();

把 tokenStream修改為:

public TokenStream tokenStream(String fieldName, Reader reader) {

? Analyzer analyzer;?
??????? analyzer = MY_ANALYZER;?
??????? TokenStream tokenStream = analyzer.tokenStream(fieldName, reader);
??????? tokenStream.addAttribute(TypeAttribute.class);
??????? tokenStream.addAttribute(FlagsAttribute.class);
??????? tokenStream.addAttribute(PayloadAttribute.class);
??????? tokenStream.addAttribute(PositionIncrementAttribute.class);
??????? return tokenStream;

}

<3>.修改nutch/build.xml

(1).在 <target name="war" depends="jar,compile,generate-docs"></target>的<lib></lib>之間<include name="log4j-*.jar"/> 下(約200行),加入下面的命令使的編譯war文件的時候加入je-analysis的jar文件,注意IKAnalyzer3.2.8.jar的版本號

<include name="IKAnalyzer3.2.8.jar"/>

(2).修改<targe tname="job" depends="compile">,改為<target name="job" depends="compile,war">這樣編譯后能自動在bulid文件夾下生成nutch-1.2.job,nutch-1.2.war,nutch-1.2.jar文件了。(注:不這樣也可以,最后直接ant war, ant jar 就能生成nutch-1.2.war,nutch-1.2.jar)

<4>.Ant

cmd進入命令行,切換到nutch所在目錄,執行ant命令,就會開始ant工作。完成后會在nutch目錄下生成build目錄。

在build文件夾中會生成三個文件,nutch-1.2.job、nutch-1.2.jar、nutch-1.2.war。

這三個文件用來替換你正式線上的Nutch目錄下的文件。如果你只在本機做測試,那就用這三個文件代替根目錄下的原來的三個同名文件即可。之后將nutch-1.2.war重新部署。測試成功。

<5>.分詞后出現的問題

在重新部署后,你在搜索時會發現有時會出先空白頁,有的句子、詞輸入進去無法查詢。

針對與這個情況,查看tomcat log發現如下提示:

org.apache.catalina.core.StandardWrapperValve invoke
嚴重: Servlet.service() for servlet jsp threw exception
java.lang.StringIndexOutOfBoundsException: String index out of range: -3

解決方法:

在tomcat中部署的nutch目錄下進入WEB-INF\classes

找到nutch-site.xml? 在這里添加如下代碼即可。

<property>
? <name>plugin.includes</name>
? <value>protocol-http|urlfilter-regex|parse-(text|html|js)|analysis-(zh)|index-basic|query-(basic|site|url)|summary-lucene|scoring-opic|urlnormalizer-(pass|regex|basic)</value>
</property>

總結

以上是生活随笔為你收集整理的Cygwin,Nutch安装配置,检验是否正确(对网友守望者博客的修改---在此感谢守望者)4的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 四虎网站在线观看 | 最新天堂中文在线 | 国产av不卡一区 | 日韩激情视频网站 | 成人午夜淫片100集 伊人久久国产 | 91免费版黄色 | 欧美在线精品一区二区三区 | 亚洲一区二区三区在线观看视频 | 精品久久久久久久久中文字幕 | 国产高潮av | 在线观看911视频 | 国产男同gay网站 | 日日麻批 | 亚洲午夜网站 | 欧洲av在线播放 | 欧美激情一区 | 中国免费一级片 | 男女视频在线免费观看 | 亚洲久久久 | 免费视频爱爱太爽 | 调教女m荡骚贱淫故事 | 婷婷在线一区 | av手机天堂| 人成免费在线视频 | 操一操av| 成人小视频在线播放 | 熟女肥臀白浆大屁股一区二区 | 日韩一二三四五区 | 日韩高清一区 | 青青青青青草 | 成年人网站黄色 | 免费成人在线观看动漫 | 谁有毛片网站 | 国产在线视频你懂的 | 羞羞动漫免费观看 | 成人午夜视频在线 | 四虎精品欧美一区二区免费 | 亚洲69av| 97视频在线免费观看 | 成熟妇人a片免费看网站 | 日韩视频精品一区 | 日韩精彩视频在线观看 | 欧美一级一区二区三区 | 日韩精品第1页 | 国内精品久久久久久久久 | 噼里啪啦免费看 | 国精产品一区一区三区在线 | 成人二区三区 | 久色视频在线播放 | 欧美精彩视频 | fc2成人免费视频 | 欧美日韩精品一区二区在线观看 | 桃色网站在线观看 | 最近中文字幕在线视频 | 91精品一区二区三区在线观看 | a在线视频 | 综合久久一区二区 | 色噜噜狠狠一区二区三区果冻 | 成人网免费视频 | 福利在线视频观看 | 亚洲啊v在线 | 精品无码国产污污污免费网站 | 国产最新精品 | 催眠调教艳妇成肉便小说 | 国产成人片| 久久九九综合 | 毛片免费视频 | 欧美 日韩 国产 高清 | 爱爱综合 | 69精品在线 | 韩国三级一区 | 国产精品熟妇一区二区三区四区 | 屁屁影院第一页 | 可以直接在线观看的av | 国产高清精品在线观看 | 国产色片在线观看 | 国产91在线免费观看 | 99热国| 欧美一页 | 欧美日韩加勒比 | 成人精品久久久 | 欧美日韩亚洲国产一区 | 无码一区二区波多野结衣播放搜索 | 撸大师av | youjizz.com在线观看 | 精品人妻一区二区三区日产乱码卜 | 亚洲成人自拍视频 | 欧美一级久久 | 91伊人网 | 免费无码不卡视频在线观看 | 日韩亚洲欧美一区二区 | 亚洲香蕉在线 | 日韩中文在线字幕 | 国产极品在线播放 | 日韩精品少妇 | 日韩超碰 | 亚洲同性gay激情无套 | 黄色三级小说 | 永久免费看片 |