2014-10-31 137 views
0

我必須在包含成千上萬條評論(最多200個字符)的傳統「搜索字段」(如大多數網站上)中搜索MySQL數據庫。我用SQL試過這樣的:使用SQL搜索時更高級的搜索引擎功能

SELECT * FROM comments WHERE text LIKE 'Bonjour monsieur' 

但隨後,爲客戶提供良好的搜索功能,我們必須第一顯示Bonjour monsieur結果,然後顯示與兩個詞Bonjourmonsieur(但也許結果不是一個旁邊其他),並然後BonjourMonsieur

同樣的結果,有必要區分大小寫的搜索,和許多類似的事情(éeê可視爲搜索相同的字母)等。

爲了給用戶提供良好的搜索體驗,有很多類似的小東西可供編碼。

在PHP/MySQL中是否有一個內置功能來提供這些「搜索引擎」功能,還是我必須從頭開始對它們進行編碼?

注意:這不是一個問題「什麼是...的具體工具」(我知道這樣的問題通常被認爲是SO中的OffTopic),我只想知道這些功能是否已經存在,或者如果我必須從頭開始編寫所有內容。

+1

你可能看mysql的全文檢索http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html – 2014-10-31 13:10:49

+0

我想這@AbhikChakraborty,但不幸的是,1)如果省略了重音,則它不處理類似的詞(例如,如果「Château」在數據庫中,則搜索「Chateau」不會產生結果...),2)如果我搜索不完整的單詞/拼寫錯誤:如果「Monsieur」在數據庫中,搜索「Monsieu」將不會產生任何結果...如何使用單詞「相似性」添加搜索(例如Google中的示例)? – Basj 2014-10-31 17:40:54

回答