我有大量的文檔,文本文件,我想搜索相關內容。我見過一個搜索工具,不能記住它在哪裏,實現了一個好方法,正如我在下面的要求中描述的那樣。動態搜索和顯示
我的要求是如下:
- 我需要一個優化的搜索功能:我提供此搜索功能與列表(一個或多個)部分完成的(或全部)與空格分隔單詞。
- 然後函數找到包含單詞開始或等於第一個單詞的所有文檔,然後使用第二個單詞以相同的方式搜索這些找到的文檔,依此類推,最後返回一個包含實際找到與包含它們的文檔(名稱爲&位置)鏈接的單詞,以獲得完整的單詞列表。
- 該文件必須包含全部列表中的文字。
- 我想用這個函數做一個你自己的類型搜索,這樣我就可以實時地以樹狀結構顯示和更新結果。
一種可能的方法來解決我想出如下: 我創建了一個數據庫(最有可能用mysql)三個用表:「文件」,「詞」和「Word_Docs」。
- '文件' 將所有文件(idDoc,名稱,位置)。
- '單詞'將具有(idWord,Word),並且是來自所有文檔的唯一單詞列表(特定單詞只出現一次)。
- 「Word_Docs」將具有(idWord,idDoc),和是的唯一id組合對每個字的列表,並記錄它出現英寸
該函數然後用編輯框上的內容稱爲每個按鍵(除了空間):
- 字符串標記化
- (這裏我的車輪旋轉了一下):我相信一個SQL語句可以構造返回所需的數據集:(actual_words,DOC_NAME, doc_location); (我不是SQL的熱門號碼),或者是爲每個令牌調用一系列調用並解析非重複的idDocs?然後
- 此數據集(/列表/陣列),然後返回
顯示返回的列表含量:
例如:調用: 「SEQ STA鱈魚」 顯示:
sequence - start - code - Counting Sequences [file://docs/sample/con_seq.txt]
- stop - code - Counting Sequences [file://docs/sample/con_seq.txt]
sequential - statement - code - SQL intro [file://somewhere/sql_intro.doc]
(某某上)
這是做這件事的最佳方法是什麼?該功能需要很快,還是隻有在空間被擊中時才能被調用? 它應該提供字完成? (在數據庫中有詞)至少這將防止對不存在的詞進行無用的對函數的調用。 如果字完成:那將如何實現?
(也許是這樣也可以使用這種類型的搜索解決方案瀏覽標籤(在主頁的右上角)?)
至少現在我知道該怎麼尋找。謝謝。 – slashmais 2008-09-29 10:31:50