全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3379
推到 Plurk!
推到 Facebook!

想了解一下Google等桌面搜索工具的原理與實現

答題得分者是:conundrum
h@visli
資深會員


發表:101
回覆:417
積分:418
註冊:2004-02-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-07-23 23:03:49 IP:222.248.xxx.xxx 未訂閱
我衹知道是通過在本地建一個Web服務器,然後對文件內容制作索引。 哪個高手能再詳細講解講解原理和具體實現?
------
------------------------
博采眾家之長,奉獻綿薄之力
------------------------
pcplayer99
尊榮會員


發表:142
回覆:740
積分:591
註冊:2003-01-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-07-24 13:03:50 IP:218.18.xxx.xxx 未訂閱
引言: 我衹知道是通過在本地建一個Web服務器,然後對文件內容制作索引。 哪個高手能再詳細講解講解原理和具體實現?
是否WEB并不重要。 实际上,它是要对本地HARD DISK 里的文件内容建立方便搜索的索引。如何建立索引,使搜索效率更高,这才是问题的重点。
h@visli
資深會員


發表:101
回覆:417
積分:418
註冊:2004-02-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-07-24 15:25:50 IP:222.248.xxx.xxx 未訂閱
是啊,我就是想知道如何對文件建立索引?如果組織與存儲索引?
------
------------------------
博采眾家之長,奉獻綿薄之力
------------------------
conundrum
尊榮會員


發表:893
回覆:1272
積分:643
註冊:2004-01-06

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-07-24 16:30:29 IP:218.175.xxx.xxx 未訂閱
沒有了web是達不到一些應用的 goole為什麼要使用web 原因很簡單 1 聯結可相容檔案--->字串---關鑑字糢糊比對 2 proxy技術應用加速重復搜索速度 http://www.yesky.com/SoftChannel/72342376189788160/20050120/1903533.shtml http://delphi.ktop.com.tw/MyTopics.asp?M_ID=18674&M_NAME=conundrum&whichpage=2 自己找一 下 如下的 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=71209 與其說 搜索技術 不如說把可相容資料轉字串抓取比對 如 c:\dir *.* >c:\123.txt 庵類有點知道嗎? xml . html.eml 等檔案的 標語.內容 快速比對 所以google才又提供其他檔案 的 芭樂印(Plug-ins) http://desktop.google.com/plugins.html
h@visli
資深會員


發表:101
回覆:417
積分:418
註冊:2004-02-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-07-25 23:38:10 IP:222.248.xxx.xxx 未訂閱
引言: 沒有了web是達不到一些應用的 goole為什麼要使用web 原因很簡單 1 聯結可相容檔案--->字串---關鑑字糢糊比對 2 proxy技術應用加速重復搜索速度 http://www.yesky.com/SoftChannel/72342376189788160/20050120/1903533.shtml http://delphi.ktop.com.tw/MyTopics.asp?M_ID=18674&M_NAME=conundrum&whichpage=2 自己找一 下 如下的 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=71209 與其說 搜索技術 不如說把可相容資料轉字串抓取比對 如 c:\dir *.* >c:\123.txt 庵類有點知道嗎? xml . html.eml 等檔案的 標語.內容 快速比對 所以google才又提供其他檔案 的 芭樂印(Plug-ins) http://desktop.google.com/plugins.html
多謝conundrum,我抽空學習一下先。
------
------------------------
博采眾家之長,奉獻綿薄之力
------------------------
bugmans
高階會員


發表:95
回覆:322
積分:188
註冊:2003-04-12

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-02-22 23:39:12 IP:125.225.xxx.xxx 未訂閱
微軟的桌面搜尋軟體http://www.microsoft.com/taiwan/wds/
google的桌面搜尋軟體http://desktop.google.com/zh/TW/features.html

背後的技術就是IFilter,在CodeProject已經有許多的技術文件了
http://www.codeproject.com/KB/cs/IFilter.aspx
我當初先找到這篇文章,嘗試用BCB來改寫,只是寫到一半我就找到Delphi的程式碼了

執行步驟
1.
安裝Adobe PDF IFilter v6.0,可取得pdf文件內容
http://www.adobe.com/support/downloads/detail.jsp?ftpID=2611
安裝Microsoft Office後,Offile IFilter就已經安裝到電腦裡
http://delphi.ktop.com.tw/board.php?cid=30&fid=69&tid=57544
请问如何获得Word中所有的文本内容?
2.
http://develop.shorterpath.com/spfree/default.asp
下載http://download.shorterpath.com/spfree.zip
從BCB或是Delphi加入SPFilter.pas和Filter.pas
從主程式呼叫GetFileContentsFromIFilter(const FileName: string; OutData: TStream)
其中FileName參數的副檔名決定要搜尋何種文件,結果則放在OutData

相關文章
codeproject搜尋ifilter
http://www.codeproject.com/info/search.aspx?artkw=ifilter&sbo=kw
http://www.codeproject.com/KB/office/desktopsearch1.aspx
http://delphi.ktop.com.tw/board.php?cid=168&fid=923&tid=81451
我想了解pdf檔的應用,例如:
1.如何判斷已加密的
2.這篇pdf檔為掃描的圖片檔不為文字檔
類似這樣的問題,請問我要怎麼才能判別呢?
(可不可以用IFilter判斷)
roviury
一般會員


發表:3
回覆:49
積分:15
註冊:2008-08-28

發送簡訊給我
#7 引用回覆 回覆 發表時間:2009-01-12 19:40:45 IP:203.186.xxx.xxx 訂閱
最簡單的方法是,把所有file都找一次
然後把它們的filename,folder,size,等資料記錄起來到一個txt檔(問題是如何寫入這麼多的資料到txt)
執行時再讀取txt檔就可以了(問題是如何讀取這麼大的txt)
(解決方法是壓縮文件,並分開成幾十個txt)

當然實際上應用可能會很慢,這可能是使用web的原因(如上樓所說)
但基本原理不困難

(而慢的解決方法,可以利用多個程式,1個是對c:/windows尋找,1個是對c:/programfile尋找,1個是對c:/Documents and Settings,依磁碟機數量增加程式數)
(記錄時分開數大個txt,讀取時也可利用多程式)
===================引 用 h@visli 文 章===================
我衹知道是通過在本地建一個Web服務器,然後對文件內容制作索引。哪個高手能再詳細講解講解原理和具體實現?
編輯記錄
roviury 重新編輯於 2009-01-12 19:45:15, 註解 無‧
系統時間:2017-12-16 20:47:35
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!