Luke:Lucene索引查看工具
Luke介紹
Luke是一個方便的索引查看和診斷工具,可以訪問Lucene構建的索引文件,顯示和修改某些索引內容。能提供:
- 通過document編號或term瀏覽索引
- 查看document內容,可複製到剪貼板
- 對頻率最高的term的索引字段提供排名後的瀏覽
- 執行搜索語句並瀏覽搜索結果
- 分析搜索結果
- 從索引中選擇性刪除文件
- 重建原始文檔字段,對其進行編輯,然後重新插入的索引
- 優化索引
- 可以打開hadoop文件係統內的索引文件
Luke使用
從google code裏下載lukeall的jar包,直接java -jar lukeall-version.jar 即可啟動。
啟動後選擇你的索引文件路徑,選擇read-only打開:
overview界麵是用來進行索引的一般性查看和操作的,比如索引目錄,域信息,版本,term信息,Rank排名等信息。注意,索引文件裏Analyze卻不Store的字段信息還是不可見的,也就是隻能看STORE了的內容。
documents界麵是用來進行文檔的操作和查看的,能根據文檔編號和詞進行查找,其實這個就是搜索功能。
search界麵是可以進行索引的搜索測試,可以編寫lucene搜索語句,看到語句解析後的query樹,還可以選擇進行搜索的分詞器、默認字段和重複搜索次數,然後下麵的listview中就會列出一個搜索的的文檔的所有保存的(store)字段的值,可以看到查詢花費的時間
file界麵,故名思義,這個就是用來查看每個索引相關文件的一些屬性的界麵,具體的話,可以通過這個界麵分析下索引文件的多少,是否需要優化或者合並等等
最後一個plugins界麵,就是可以看到luke提供的各種插件。比較有用的還是分詞工具,提供一個分詞的類,然後下麵文本框輸入一段文本,然後就可以讓這個工具幫你分詞,你可以看到詳細的分詞信息,對自定義分詞器的調試或者測試。還有一個hadoop插件,支持從hadoop節點中獲取節點中文件的相關信息,對分布式搜索引擎搭建有用,算是支持多平台的lucene索引文件塊的查看。
個人理解
其實Lucene構建的索引,無論從結構上說還是功能上說,和一個DBMS數據庫很相似,你可以認為Luke做的事情就是包裝了Lucene的IndexReader和IndexSearcher之後,變成一個界麵化的索引展示和管理工具。你完全可以自己寫程序在cmd裏查看,但是沒有Luke提供的展示那麼直觀和多樣。
Luke隻提供帶桌麵界麵的操作係統,就是說你的linux服務器,如果是命令行界麵的話,是使用不了Luke來查看的,這是不是一個可以想辦法改進的地方?
luke源碼結構簡單,通過使用luke並閱讀源碼,對這個工具一定可以有更全麵的認識。
最後更新:2017-04-04 07:03:32