トモロログ

仕事や趣味でのメモや記録など

full text search の構文

mysql全文検索の構文

 


 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を含まない

 

 ランクというのは検索結果にスコアがつくのでそのスコアの重みということ。

 ランクの計算方法、重み付けについても先のリンクにあるので参考にしたい。

 あとここも参考になった 

MySQLで全文検索 - FULLTEXTインデックスの基礎知識|blog|たたみラボ