full text search の構文
select * from テーブル名 where match(カラム名) against('キーワード' in boolean mode)
'in boolean mode' は論理演算ができるモードらしい。あとこれを入れてないとなんか
曖昧な検索結果になってしまう。
boolean mode は上記の式のキーワード部分に以下を指定可能
- + AND演算
- ー NOT
- なにもなし OR演算
- @数字 近接演算 (ただしinnoDBのみ)
などなど 詳細はこちら
キーワード部分の例
'apple banana' どちらかのキーワード
'+apple +banana' 両方含む
'+apple machintosh' appleを含むものだが、machintoshを含む方がランク上
'+apple -machintosh' appleを含み、machintoshを含まない
ランクというのは検索結果にスコアがつくのでそのスコアの重みということ。
ランクの計算方法、重み付けについても先のリンクにあるので参考にしたい。
あとここも参考になった