2013年5月31日 星期五

Apache Lucene-4.3.0 Note


     <下載與設定>
  1. 先到官方網站下載 Lucene (目前為 4.3.0),Windows 上下載 .zip
  2. 下載回來以後解壓縮 .zip
  3. 根據官網說明,進入解壓的資料夾以後,分別在 /core、/demo、/analysis/common 和 /queryparser (不是 /queries) 四個子資料夾中可以找到 lucene-core-4.3.0.jar、lucene-demo-4.3.0.jar、 lucene-analyzers-common-4.3.0.jar 和 lucene-queryparser-4.3.0.jar 四個 jar 檔案 (tar.gz 會有點不一樣)
  4. 將這四個檔案 "copy" 到你安裝 JDK 的 lib 資料夾中 (*1)
  5. 將這四個檔案在 lib 中的絕對路徑加到 Java 的 CLASSPATH 設定中 (例如:C:\Program Files\Java\jdk1.7.0_05\lib\lucene-core-4.3.0.jar,別忘記要加 .jar 喔!如果你是直接複製檔名的話)
  6. 測試:打開 cmd,輸入:
                java org.apache.lucene.demo.SearchFiles
                java org.apache.lucene.demo.IndexFiles










↑ 測試設定結果 ↑

<建立索引目錄>
  1. 設定好 CLASSPATH (也就是出現上面的結果,而非找不到類別之類的訊息)
  2. 在你想要建立目錄的地方開一個資料夾,ex. C:\Users\Veck\Desktop\Apache_Lucene\dir,dir 就是我建立的資料夾
  3. 以我建立的目錄為例,在 cmd 輸入: (*2)
           java org.apache.lucene.demo.IndexFiles -docs Apache_Lucene\dir



4. 成功以後,與 Apache_Lucene 相同的目錄底下 (我這邊就是 Desktop) 會多出一個 index 資料夾

5. 其中 index 資料夾包含了兩個檔案:segments.gen 和 segments_1




<測試索引>

1. 要利用 demo 工具測試 Search,先進入建立的目錄 dir 中任意建立一些檔案 (例如這邊的 dct.txt 和 tet.txt) 

2. 接著在檔案裏面任意輸入一些內容 ( 記得要存檔!)






3. 回到 cmd,輸入:
 
     java org.apache.lucene.demo.IndexFiles Apache_Lucene\dir
 
    會出現 indexing 和 adding 的訊息,接著再輸入:

    java org.apache.lucene.demo.SearchFiles

    就會出現 "Enter query:" 的訊息等待你輸入要搜尋檔案內文的資料
    (Lucene是全文搜尋工具,非檔案搜尋工具)

   例如輸入剛剛在文件中的 "lucene",會檢索到一個在索引目錄 dir 中含有這個詞的 ter.txt
   又如輸入剛剛在文件中的 "note",會檢索到一個在索引目錄 dir 中含有這個詞的 dct.txt





<參考資料>

1.Apache Overview:

2.Ubuntu Reference、(*1) 參考: http://blog.csdn.net/wuyanyi/article/details/7873121

3. (*2) 參考:
 http://www.zzbaike.com/wiki/Lucene%E5%85%A5%E9%97%A8%E4%BD%BF%E7%94%A8

4. Linux Reference、<測試索引>參考:
http://blog.longwin.com.tw/2007/07/search_engine_lucene_study_2007/

5. 中文檢索參考(上述介紹方法還無法正確檢索含中文的檔案內容):http://kb.trisugar.com/node/9751
---------------------------------------------------------------------------------------------------------------------------------------------
*1 官網說明:Put all four of these files in your Java CLASSPATH.』
意思是要將這四個檔案放到你設定 Java 的 CLASSPASS 那個資料夾中,然後我這邊的測試,還必須將這四個檔案的絕對路徑加到 CLASSPATH 中

*2 官網說明:『java org.apache.lucene.demo.IndexFiles -docs {path-to-lucene}/src 』
後面這一段 {path-to-lucene}/src,分別是要輸入『{以現在所在目錄下到剛剛建立的目錄的中間路徑} / 剛剛建立的目錄名稱』,例如我現在在 Desktop,則剛剛建立的目錄叫做 dir,放在 Apache_Lucene底下,所以是『Apache_Lucene\dir』,注意 "/" 變成 "\" 了喔!因為是路徑名稱

1 則留言:

  1. Demo Overview:
    https://lucene.apache.org/core/4_6_0/demo/overview-summary.html#About_the_code

    Source code of IndexFiles:
    https://lucene.apache.org/core/4_6_0/demo/src-html/org/apache/lucene/demo/IndexFiles.html

    Source code of SearchFiles:
    https://lucene.apache.org/core/4_6_0/demo/src-html/org/apache/lucene/demo/SearchFiles.html

    回覆刪除