簡體   English   中英

mysql匹配查詢

[英]mysql match against query

我在搜索查詢中使用mysql匹配查詢,就像這樣

MATCH(film_name) AGAINST ('the vacation' IN BOOLEAN MODE).

但以前我用這個

film_name like '%the vacation%'

所以我的問題是我現在通過使用匹配和反對來獲得正確的結果但問題是,當我在那里使用時,我可以在搜索字符串之前和之后使用%符號,所以如果搜索字符串在字符串中出現然后它返回結果,因此plz告訴我如何編寫我的" MATCH(film_name) AGAINST ('the vacation' IN BOOLEAN MODE) "這樣它也表現得像'%'。

如果文件名是'rocketsingh'

那么如果我film_name like '%rocket%'運行film_name like '%rocket%'那么它會顯示結果

但如果我運行MATCH(film_name) AGAINST ('rocket' IN BOOLEAN MODE)那么它將不會顯示任何結果。 請建議做什么。

MATCH命令僅允許帶前綴的通配符,但不允許帶有后綴的wilcards。 由於單個單詞被索引,因此無法以通常的方式管理后綴通配符。 您無法立即從索引中檢索*假期 ,因為左側字符是索引中最重要的部分。

答案是:你做不到。 MATCH AGAINST運算符匹配單詞,而不是字符串。 兩者之間存在差異。 還要注意的是你的榜樣也將匹配vacationthevacation thethe something something vacation等。 您應該在這里閱讀您可以進行的搜索。

如果你不想進行單詞搜索,你應該堅持使用LIKE的第一個選項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM