Free lancer’s blog

フリーランス活動に関する記録を記して行こうと思います。

N-Gram

テキスト検索する必要性が出てきたので、N-Gram プログラム作成。
というか数行・・・

<?php
function NGram( $str, $n ) {
  mb_internal_encoding( 'UTF-8' );
  $l = mb_strlen( $str );
  $ret = '';

  for ( $i = 0; $i < $l; $i ++ ) {
    $ret .=  mb_substr( $str, $i, $n ) . ' ';
  }

  retrun trim( $ret );
}

検索してたらこんなのが出てきた

[PHP] 文字列をN-Gramで変換する - Qiita

突っ込んでいいですか?

何をしてるのか知らないけど、長いのはいいとして、N-Gram 使うときって基本マルチバイトじゃないんでしょうか・・・


さて、N-Gram ができたら MySQL の FULLTEXT で全文検索どん。

おわり