2013-11-04 208 views
-3

任何人都可以幫助我在MySQL中使用PHP的一些高級搜索功能嗎?Mysql高級搜索

我需要執行特定的字段(標題,描述)和一些特殊字符搜索可以作爲:

  • 幾個單詞開始給定文本(例如搜索字詞是「北*」,應該返回一個包含項北部,西北等)
  • 排除字詞(如搜索詞是「休假-bahamas」,應該返回包含vacation條目,但不是那些還含有巴哈馬)
+0

有一些索引文本搜索系統[在這個老問題](http://stackoverflow.com/q/2271600/472495)比較。 – halfer

回答

0

我有點不清楚你在問什麼。如果你想自己實現,以實現在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') 

這個發現其中的描述包含單詞「假期」,而不是單詞「巴哈馬」

但是,如果你需要一個更復雜的(即處理不區分大小寫的查詢),穩健的或有效的所有條目解決方案,請與比爾卡爾文的答案一起。

+0

感謝您提供有用的信息。我認爲這些疑問將會完成這項工作。我會嘗試他們。很高興看到有些人願意幫助,而不是其他一些只能給予-1的「天才」。 – Stoner

2

你可能需要一個更專業的搜索技術年。檢查出Sphinx Search

許多開發人員將數據存儲在MySQL中,然後使用搜索引擎(如Sphinx Search)作爲配套技術來對數據進行索引並高效地進行搜索。

使用正確的工具進行工作。

+0

感謝您的輸入。我會看看Sphinx Search。 – Stoner