2011-12-17 40 views
1

在練了即將到來的程序設計大賽的目的的功能,我正在做一個非常基本搜索在C#引擎,需要查詢從用戶(例如"Markov Decision Process")和搜索通過幾個文件找到與查詢最相關的一個。文本文件來測試搜索引擎

該應用程序似乎正在工作(我使用了一個術語文檔矩陣算法)。

但現在我想測試搜索引擎的功能,看看它是否真的工作正常。我嘗試了幾個維基百科文章,並將它們保存爲.txt文件並進行了測試,但我無法看到它的運行速度是否足夠快(即使有一些計時器)。

我的問題是,有沒有一個網站,顯示了幾個文件來測試搜索引擎(以及邏輯預期的結果)?

到目前爲止,我正在進行常規測試,但確保測試結果會很好。

另外,如何獲得關於各種主題的.txt文件(可能是10 000多個文件)的集合,以查看我的應用程序運行速度是否足夠快?

我試圖複製一些維基百科文章,但它會採取方式太多的時間去做。我也想過製作一些腳本來爲我做,但我真的不知道該怎麼做。

那麼,我在哪裏可以找到很多帶有分開主題的文件?

否則,我該如何對我的應用程序進行基準測試?

注:我猜想一個簡單的大.txt文件,其中每行代表一個關於某個主題的「文件」也可以完成這項工作。

+0

隨意更改標籤爲更好的,我從來不知道哪些不... – 2011-12-17 20:45:53

+0

我不知道多少人會去哪些適合和製作10000個主題文本文件的麻煩,或者麻煩上傳10000個不同的文件 – annonymously 2011-12-17 21:10:15

+0

@annonymously:哦,我當然不會要求這樣!我正在尋求一種方法來使用某種腳本來獲取這些文件,以便從維基百科中獲取隨機文章並在本地保存它們,也許呢?我不知道如何繼續獲取這些文件或只是對我的應用程序進行基準測試,所以這就是我所問的:我該怎麼辦? – 2011-12-17 21:15:21

回答

1

您可以使用遞歸函數獲取維基百科頁面,並通過一組頁面鏈接的每一頁加載html。

,如果你有C#的一些經驗,這將幫助你: http://www.csharp-station.com/HowTo/HttpWebFetch.aspx

然後依次通過文字和收集文本的所有實例:"<a href=\"" 和遞歸調用該方法。您還應該使用計數器來限制遞歸次數。

此外,爲了防止OutOfMemory異常,您應該在達到某個迭代次數的倍數時停止該方法,並將所有內容寫入文件。然後刷新字符串中的舊數據

+0

這沒有竅門,謝謝! – 2011-12-18 23:00:54

2

文本文件的一個來源將是Project Gutenberg。如果您想一次下載數千個文件,它們會提供CD/DVD images。 (該頁面沒有說明,但我可以想象它們是在CD/DVD ISO內的txt格式。)