2013-02-15 41 views
0

引擎我有在它周圍10,000多篇文章MySQL數據庫,但這一數字可能會上升隨着時間的推移。我希望能夠搜索這些文章,並根據某些關鍵字提取最相關的結果。我知道有很多項目可以插入,基本上可以做到這一點。但是,這個應用程序非常簡單,如果能夠直接掌握整個事物的運作方式並掌握相關知識,那就太好了。因此,我想在Python中從頭開始構建一個非常簡單的搜索引擎。搜索從頭

我甚至不知道從哪裏開始,真的。我可以將MySQL數據庫中的所有內容都轉儲到列表中,然後嘗試根據相關性對列表進行排序,但是這看起來會很慢,並且隨着數據庫項目數量的增加而變慢。我可以使用一些基本的MySQL搜索來獲得MySQL認爲的前100個最相關的結果,然後對這100個進行排序。但這是一個兩步過程,可能效率較低,如果它剛剛出現,我可能會丟失一篇文章的範圍。

什麼是我可以把這個的最佳方法?

+1

我敢打賭,谷歌已經開始點這個的*噸* ..你有什麼甚至到目前爲止已經試過? – 2013-02-15 06:21:54

+0

我還沒有嘗試過任何東西,因爲我只是在計劃我的方法。我發現的所有東西都採用純粹的MySQL搜索,或將文章轉儲到列表中並進行排序。 – Gus 2013-02-15 07:06:43

回答

3

對於10,000篇文章,爲「搜索引擎」做最好的選擇是閱讀Toby Segaran編寫的「編程集體智慧」。精彩的閱讀和節省時間請參閱2007年8月第4章。

+0

謝謝,我會盡力找到這個。 – Gus 2013-02-15 07:05:25

0

如果你不介意更換用別的東西MySQL數據庫的話,我建議elasticsearch,使用pyes

它擁有你所期望的搜索引擎,包括全文檢索,強大的性能,分頁,-比較像這樣,插件,能夠得分算法的功能,並且是實時的 - 所以,當更多的數據被添加它將立即顯示在搜索結果中。

如果你不想刪除當前數據庫,那麼你可以很容易地運行它們並排,和對待MySQL作爲主。