2015-06-09 83 views
1

我正在構建一個laravel項目搜索字段,我使用全文搜索。我設法讓這個工作,但我不能讓多個關鍵字一起搜索。
例如: 我有一行值爲one two three four如果我搜索two three它會發現其中有two或的所有條目。但我希望它找到這兩個twothree帶有多個關鍵字的laravel全文搜索

SQL查詢的條目:

DB::raw("select id, name, text, image, publishDate from game 
where match (name) AGAINST ('*$searchphrase*' IN BOOLEAN MODE) LIMIT 5") 
+0

或最終如果可以對其排序,以便包含兩個關鍵字的短語列在頂部。 – ericm54

回答

0

請看到這一點:http://goo.gl/lZIKBkhttps://dev.mysql.com/doc/refman/5.5/en/fulltext-boolean.html

「+」 代表和

「 - 」代表不是

[no運算符]暗示或

您沒有任何暗示「或」的運算符。


+0

我最初嘗試過:用「+」,但它似乎沒有任何區別。在$ searchphrase之前和之後用「+」嘗試。 – ericm54

+0

嘗試搜索詞組之間的「+」。像「+蘋果+香蕉+橙子」。 – RY35

+0

得到它的工作:)我只使用匹配在哪裏。通過相關性結束排序並且工作。結果如下:select Id,Name,Text,Image,PublishDate,match(Name)against('$ searchphrase')作爲來自遊戲的相關性,其中match(Name)AGAINST('+ * $ searchphrase *'IN BOOLEAN MODE)AND status = 1 order by Relevance desc LIMIT 5「雖然現在看起來我可以用一個不完整的詞搜索,比如」upgr「發現升級但」等級「不會找到」升級「 – ericm54