大量のデータがあるサイトに検索機能を実装することになりました。LIKE 演算子で %keyword% と検索してみたところ、結果が1分経っても返って来なかったのでで Ngram もしくは MeCab を使った全文検索をできるように仕組みを実装しました。 自分の勉強のために改めて自分で解説してみることにします。初心者の視点から書いてるので、全文検索をやったことがない方やこれから全文検索をしようと思ってる人は入門の参考にしてください。 MySQL での日本語全文検索について MySQL の FULLTEXT 型とは そもそも MySQL の FULLTEXT 型というインデックスを使えばそれだけで全文検索をできます。しかし英語のように単語がスペースで区切られてる時だけであり、日本語のように全て繋がっている場合は機能しません。 そのため MeCab などの日本語形態素解析で日本語から単語を抽出し