2013-04-04 317 views
0

有問題與MySQL查詢進行。我使用全文搜索。mysql全文搜索

我嘗試在我的照片表中找到精確匹配,但會出現問題。

讓我們說我有一個像「Reodor漢森有麻煩的mysql」

如果我再搜索名爲Reodor Mysql的,其中Reodor漢森被標記在畫面的用戶,將會看到一個照片描述。

是否有選項可以獲得完全匹配?我現在談論的是「'和」「,但他們並沒有幫助我。

問題是我不會在Reodor Mysql的搜索中看到Reodor Hansens照片。

下面是查詢我使用

SELECT * FROM _photos WHERE MATCH(介紹)AGAINST('Reodor MySQL的IN BOOLEAN MODE)

此外。任何想法我可以如何進一步邁出這一步?所以,我在搜索框中可以寫

「Reodor所有MySQL圖片」或「告訴我最後的10張圖片Reodor Mysql的上傳」

和搜索上對此作出迴應?

+0

您可以使用這個(我的)PHP庫:https://github.com/alexschwarz89/easy-mysqli-fulltext – Alex2php 2016-08-10 20:39:58

回答

1

如果你想找到一個確切的詞,你可以使用雙引號。就這樣

​​

如果你只是想最後的10張圖片,你可以一個LIMIT添加到您的查詢。事情是這樣的

SELECT * FROM _photos WHERE MATCH (description) 
        AGAINST ('"Reodor Mysql"' IN BOOLEAN MODE) 
        ORDER BY uploaded_date DESC 
        LIMIT 10; 
+0

感謝。有效。有關如何解決我的其他問題的任何想法?我怎麼能要求看到一個用戶最後的X張照片或最後一個用戶是在度假 – 2013-04-04 15:09:00

+0

我不知道如何回答你的第二個問題,因爲我不知道你的模式和數據如何。爲了回答這個問題,我需要更多的信息,例如:你在哪裏存儲上傳日期?你在哪裏存儲用戶的假期? Fulltext只是一個MySQL索引,可讓您在文本列上執行更快的查詢。 – alexrom7 2013-04-05 02:15:46

0

如果喲想的Reodor Mysql完全匹配,你將不得不使用LIKE operator

SELECT * FROM _photos WHERE description LIKE '%Reodor Mysql%'