<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-6  評(píng)論-6  文章-2  trackbacks-0
    原文:http://hedong.3322.org/archives/000206.html

    Lucene是一套全文檢索的API,對(duì)其介紹的文章和應(yīng)用的案例都多,可參考lucene及本文的參考文獻(xiàn)。
      此次學(xué)習(xí),以實(shí)用為主,一是簡(jiǎn)單應(yīng)用,二是Web應(yīng)用,三是漢化,四相關(guān)應(yīng)用(Lucene主頁(yè)上在SandBox中)。

    0、準(zhǔn)備工作
      去Lucene的主頁(yè)下載目前的穩(wěn)定版本lucene-1.2.tar.gz,解壓縮,將lucene-1.2目錄下的兩個(gè)jar文件lucene-1.2.jar和lucene-demo2-1.2.jar放到適當(dāng)?shù)哪夸浵潞螅⑵浼尤氲紺LASSPATH環(huán)境變量中。

    tar zxvf lucene-1.2.tar.gz <----解壓縮
    cd lucene-1.2
    cp *.jar $DP<---存放jar文件的目錄,根據(jù)具體工作要求用實(shí)際目錄替換
    CLASSPATH=$CLASSPATH:$DP/lucene-1.2.jar:$DP/lucene-demos-1.2.jar; export CLASSPATH
    winclasspath.gif如果不想在每次都登錄后,可以編輯/etc/profile或自己目錄下的.profile,將上面的最后一行加到文件的最后一行。Windows的設(shè)置,右擊桌面的“我的電腦”,選“高級(jí)”->“環(huán)境變量”->選中CLASSPATH->“編輯”,在輸入框中加入兩個(gè)jar文件的全路徑名,注意分隔符是分號(hào)(;)。參見(jiàn)右圖。

    1、運(yùn)行demo

    $ java org.apache.lucene.demo.IndexFiles /usr/local/man/man1/ <--對(duì)man文件建立索引
    adding /usr/local/man/man1/mysql.1
    ...........
    adding /usr/local/man/man1/cvs.1
    1614 total milliseconds
    $ java org.apache.lucene.demo.SearchFiles <--進(jìn)行檢索
    Query: password
    Searching for: password
    7 total matching documents
    0. /usr/local/man/man1/mysql.1
    ......
    6. /usr/local/man/man1/mysqlshow.1
    Query:
    OK!Lucene自待的demo運(yùn)行成功
    這個(gè)demo程序調(diào)用的主要API函數(shù):
    /*關(guān)于索引的主要函數(shù)*/
    File file=new File(argv[]);
    IndexWriter writer = new IndexWriter("index", new StandardAnalyzer(), true);

    Document doc = new Document();
    doc.add(Field.Text("path", file.getPath()));
    doc.add(Field.Keyword("modified",DateField.timeToString(file.lastModified())));
    FileInputStream is = new FileInputStream(f);
    Reader reader = new BufferedReader(new InputStreamReader(is));
    doc.add(Field.Text("contents", reader));

    writer.addDocument(doc);

    writer.optimize();
    writer.close();

    /*關(guān)于檢索的主要函數(shù)*/
    Searcher searcher = new IndexSearcher("index");
    Analyzer analyzer = new StandardAnalyzer();
    Query query = QueryParser.parse(lineforsearch, "contents", analyzer);
    Hits hits = searcher.search(query);
    for (int i = start; i < hits.length(); i++) {
    Document doc = hits.doc(i);
    String path = doc.get("path");
    System.out.println(i + ". " + path);
    }


    3、運(yùn)行LuceneWeb
      假定tomcat裝在$TOMCATHOME目錄下,具體應(yīng)用時(shí)用真實(shí)的目錄替換$TOMCATHOME。

    cd $TOMCATHOME/webapps
    mkdir lucenedb
    cd lucenedb
    java org.apache.lucene.demo.IndexHTML -create -index $TOMCAT/webapps/lucenedb ../examples<--用相對(duì)路徑“..”,一來(lái)指明被索引的文件的位置,二來(lái)用來(lái)顯示被索引文件的URL,因?yàn)闄z索的jsp程序在luceneweb子目錄下.examples可用其它的真實(shí)應(yīng)用的目錄名來(lái)替換
    cd ..
    cp ~/lucene-1.2/luceneweb.war . <--luceneweb.war在你解壓縮生成的lucene-1.2目錄下
    ../bin/shudown.sh
    ../bin/startup.sh

    然后通過(guò)客戶(hù)端訪問(wèn)http://yourdomain.com:8080/luceneweb,如果順利瀏覽器應(yīng)出現(xiàn)右邊所示的內(nèi)容。luceneweb-1.gif.再到服務(wù)器端
    cd luceneweb
    vi configuration.jsp <--將indexLocation 的值改為 "$TOMCATHOME/webapps/lucenedb";
    cd ..
    jar -ur luceneweb.war luceneweb
    再到客戶(hù)端,刷新剛才的頁(yè)面,然后就可以輸入單詞進(jìn)行檢索了。遺憾的是,此是只能檢索英文單詞。且如果命中的html頁(yè)面的title是漢字的話,顯示也有問(wèn)題。如圖。
    luceneweb-2.gif
      此處的IndexHTML,可以對(duì)htm、html和txt類(lèi)型的文件進(jìn)行索引,用的是一個(gè)HTMLParser,除此以外與上一例基本相同。
    posted on 2005-06-30 11:33 gaich 閱讀(631) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): J2EE應(yīng)用

    只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 91精品免费久久久久久久久| 久久成人免费大片| 免费的一级片网站| 77777亚洲午夜久久多喷| 免费国产作爱视频网站| 天天爽亚洲中文字幕| 成年性午夜免费视频网站不卡| 亚洲黄片手机免费观看| 亚洲精品网站在线观看不卡无广告| 久久精品亚洲男人的天堂| 国产精品亚洲一区二区无码| 免费很黄很色裸乳在线观看| 色多多免费视频观看区一区| 亚洲国产成人久久综合一区77| 亚洲色图视频在线观看| 日韩不卡免费视频| 亚洲成AV人片高潮喷水| 免费欧洲毛片A级视频无风险| 亚洲视频日韩视频| 免费看韩国黄a片在线观看| 亚洲kkk4444在线观看| 免费一级黄色毛片| 国色精品va在线观看免费视频 | 亚洲人成影院在线观看 | 亚洲中文无码永久免| 日韩中文无码有码免费视频| 色噜噜噜噜亚洲第一| 亚洲精品无码mv在线观看网站 | 亚洲国产精品久久久久网站 | 又粗又硬免费毛片| 国产成人无码精品久久久久免费| 蜜桃精品免费久久久久影院| 一级A毛片免费观看久久精品 | 丁香亚洲综合五月天婷婷| 777亚洲精品乱码久久久久久| 久久久久久国产a免费观看不卡 | 涩涩色中文综合亚洲| 免费女人18毛片a级毛片视频| 亚洲jizzjizz在线播放久| 亚洲精品国产高清不卡在线| 亚欧免费无码aⅴ在线观看|