目前我正在嘗試爲我的網站創建一個搜索功能,以便用戶使用全名(第一個或最後一個)或用戶名搜索其他用戶。現在我創建了一個臨時搜索,它使用mysql的LIKE
功能和%name%來允許通配符。它非常簡單。我遇到的問題是在提供全名時嘗試搜索名稱,並且只有名稱的縮寫版本在數據庫中。例如:php mysql搜索引擎
搜索理查德只會拿出理查茲而不是裏奇。我非常難以確定如何創建能夠做到這一點的東西,而不是非常低效。我打算使用SOUNDEX,但這隻對英文名字和單詞有用。
另外我想問一下,如果使用像Apaches Lucene這樣的搜索引擎來索引數據庫是否更好?我正在考慮這一點,但不知道這是否值得,因爲搜索引擎只會搜索小型全文字符串。
謝謝
嘗試使用'levensthein'過濾器http://stackoverflow.com/questions/4671378/levenshtein-mysql-php – elclanrs
看來這是一個最好的方式去,但它是最好的方法來使用大型數據庫?一旦信息被放回到數據庫中,我正在搜索它將成爲超過一百萬用戶的庫存。 – tiantang