2013-10-05 26 views
0

我想寫一個單詞搜索,它連接到一個特定的網站(巨大的),從用戶那裏接收單詞,搜索網站並返回包含單詞的字符串;這應該用java編寫,並作爲一個小程序。我已閱讀了一些關於此的教程和問題,並瞭解必須完成的工作是:有什麼步驟來爲網站進行詞語搜索?

1.連接到網站並獲取網站的內容並將其保存爲字符串(應該使用webcrawler這將從我自己的代碼連接到網站,並將內容保存到一個字符串+ jsoup庫來解析HTML代碼)。

2.將數據保存到數據庫(在我的情況下是nosql數據庫)。

3.索引數據庫中的數據。

4.查詢數據庫以顯示結果。

5.生成用於顯示搜索結果的UI(我使用swing.japplet)。

現在我qustions是:

1.have我的理解正確,我得走了(請說明我在細節,如果一個步驟是不必要的或必要的)

2.Is有必要的步驟?有一個數據庫?

通知:我要實現它自己,而不使用現成的東西,如Lucene的,Nutch的,Solr的,...

編輯:3人告訴我,小應用程序不適合這樣的事情,那麼應該怎麼是替代品嗎?

很多非常感謝您的幫助。

回答

0

你應該看看使用Lucene,因爲它可以完成你想要的大部分功能。

你不應該使用小程序。

+0

不,我想自己實現它。沒有準備好諸如lucene之類的東西,爲什麼不使用applets? – fereshteh

+0

@ user2841094 - 我已經解釋了爲什麼applet在我的答案中是個壞主意。 –

+0

它應該是什麼,而不是一個小程序?一個Web服務? – fereshteh

0

對於小數據集,數據庫應該足夠了。像mysql這樣的數據庫附帶full text search functions

對於較大的數據集,你可能想要考慮LuceneSolr

+0

你的意思是我應該使用mysql而不是nosql數據庫? – fereshteh

+0

如果我是你,我會和solr一起去。 – interskh

0

這是實現此目的的一種方式。另一種(更簡單)的方法是使用像Lucene/Solr這樣的現有文本搜索/索引引擎。使用數據庫技術來重新實現「文本搜索/索引」輪的努力會讓我感到浪費精力,除非您有足夠的技術理由這樣做。

您確實需要擁有某種數據庫,因爲在飛行中索引網站根本不起作用。 Lucene將處理該問題。

我認爲你選擇Java applets來構建UI是一個壞主意。還有其他技術可以使結果一樣好或更好......沒有Java瀏覽器插件的安全風險。


最後,讓您的網站搜索的另一種方法是讓Google爲您做。使您的網站內容可以索引,然後使用Google的搜索API。

+0

我可以用更好的技術指導我嗎? – fereshteh

+0

開始看着這個:http://stackoverflow.com/questions/2055430/list-of-rich-web-application-technologies –

+0

非常感謝斯蒂芬,這真的是我應該看看。 – fereshteh

相關問題