任何人都可以幫助我在MySQL中使用PHP的一些高級搜索功能嗎?Mysql高級搜索
我需要執行特定的字段(標題,描述)和一些特殊字符搜索可以作爲:
- 幾個單詞開始給定文本(例如搜索字詞是「北*」,應該返回一個包含項北部,西北等)
- 排除字詞(如搜索詞是「休假-bahamas」,應該返回包含vacation條目,但不是那些還含有巴哈馬)
任何人都可以幫助我在MySQL中使用PHP的一些高級搜索功能嗎?Mysql高級搜索
我需要執行特定的字段(標題,描述)和一些特殊字符搜索可以作爲:
我有點不清楚你在問什麼。如果你想自己實現,以實現在PHP中的特定功能,在這裏您需要的SQL知識:
SELECT * FROM table
WHERE title LIKE '%north%'
這個發現在標題中包含「北」的所有條目
SELECT * FROM table W
HERE title LIKE 'north%'
此找到所有其中冠軍「北」開頭的條目
SELECT * FROM table W
WHERE (title LIKE 'north %' OR title LIKE '% north %' OR title LIKE '% north')
這個發現在標題中包含字北
所有條目SELECT * FROM table
WHERE (description LIKE '% vacation %' OR description LIKE 'vacation %' OR description LIKE '% vacation')
AND (description NOT LIKE '% bahamas %' AND description NOT LIKE 'bahamas %' AND description NOT LIKE '% bahamas')
這個發現其中的描述包含單詞「假期」,而不是單詞「巴哈馬」
但是,如果你需要一個更復雜的(即處理不區分大小寫的查詢),穩健的或有效的所有條目解決方案,請與比爾卡爾文的答案一起。
感謝您提供有用的信息。我認爲這些疑問將會完成這項工作。我會嘗試他們。很高興看到有些人願意幫助,而不是其他一些只能給予-1的「天才」。 – Stoner
你可能需要一個更專業的搜索技術年。檢查出Sphinx Search。
許多開發人員將數據存儲在MySQL中,然後使用搜索引擎(如Sphinx Search)作爲配套技術來對數據進行索引並高效地進行搜索。
使用正確的工具進行工作。
感謝您的輸入。我會看看Sphinx Search。 – Stoner
有一些索引文本搜索系統[在這個老問題](http://stackoverflow.com/q/2271600/472495)比較。 – halfer