2011-06-22 28 views
0

我有一個使用自定義Python腳本創建的MySQL數據庫。我需要在數據庫中的表上實現全文搜索。我可以使用SELECT * FROM myTable WHERE (title LIKE '%hello%' OR title LIKE '%world%'),但是我不認爲這是實現搜索的一種非常有效的方式,因爲表中的數據有近一百萬行。如何使用python mysql實現搜索引擎?

我正在使用innoDB表,因此內置在MySQL全文搜索MyISAM將無法正常工作。任何關於方法或教程的建議都會指向正確的方向?

+0

看起來像一個副本:http://stackoverflow.com/questions/1381186/fulltext-search-with-innodb –

+0

看看這個http://stackoverflow.com/questions/66922/what-are-有些搜索服務器在那裏,有關全文搜索引擎的好點。 –

回答

0

我不是MySQL的專家,但我可以立即說,你不應該選擇一切就像一個值。如果用戶鍵入「和」,並且有數以千計的結果,則最好從數據庫中選擇一定數量,然後在用戶轉到下一頁(例如)時使用LIMIT參數加載更多。

SELECT * FROM `myTable` WHERE (`title` LIKE '%hello%' OR `title` LIKE '%world%') LIMIT numberOfValues,startingAtRowNumber 

所以要回答你的問題,查詢效率不高,你應該使用類似我上面建議的東西。

+0

你說得對。我忘了限制。 – David