TEST

2010年5月5日 星期三

自訂Beagle搜尋rar、big5編碼txt

Beagle是很好用的桌面搜尋,預設是只搜尋使用者家目錄,且不會找隱藏資料夾裡的檔案。有些文件如.doc裡面的中文是搜尋不到的,英文可以。但.odt、.pdf中英文都可以。對我來說,主要還有以下缺點:
  • 但是如果是rar壓縮檔裡面的資料就找不到。
  • 搜尋中文時,以前是big5編碼的純文字內容就會找不到,我有不少以前的資料是用big5存的阿。
分享一下解決方法:
安裝完Beagle後,到/etc/beagle新增external-filters.xml加入資料如下:
<?xml version="1.0" encoding="utf-8"?>
<external-filters>
<filter>
  <mimetype>application/x-rar</mimetype>
  <extension>.rar</extension>
  <command>rar</command>
  <arguments>lb %s</arguments>
</filter>

<filter>
  <mimetype>text/plain</mimetype>
  <!--mimetype>application/gedit</mimetype-->
  <extension>.txt</extension>
  <command>iconv</command>
  <arguments>-f big5 -t utf-8 %s</arguments>
</filter>
</external-filters>
然後到console

beagle-config --beagled-reload-config

就可以了。
但是之前已經index過得檔案就不會重新index喔,所以當然還是找不到,把舊index刪除 ,重新index就可以了。

如果你不確定增加external-filters有沒有成功,可以試試以下指令來確認:
beagle-info --list-filters
會列出所有支援的filters,在這個例子應該出現;
FilterExternal - Version 10 (/usr/lib/beagle/Filters/Filters.dll)
  - MimeType: application/x-rar
  - Extension: .rar
  - MimeType: text/plain
  - Extension: .txt
要確認是不是指令下錯,可以使用:
beagle-extract-content --show-generated test.rar
beagle-extract-content --show-generated test.txt
來測試你要尋找有包含資料的檔案,如果他的輸出內容有包含你要搜尋的字串就對了。
.doc裡面的中文搜尋不到,目前不急用就先不解了。
參考:
http://www.linux.com/news/software/applications/254610:desktop-search-engines-compared
http://beagle-project.org/ExternalFiltersRepository#Rar_filter
http://osdir.com/ml/dashboard-hackers/2010-03/msg00006.html

沒有留言:

張貼留言