全文検索とは、複数の文書ファイルから特定のキーワードを検索する技術です。そのキーワードを抽出するにはN-gramを使います。N-gramとは、検索対象を単語単位ではなく文字単位で分解し、後続のN-1文字を含めた状態で出現頻度を求める方法の事です。以下、N-gramの説明をWikipediaから引用しました。「N文字インデックス法」「Nグラム法」などともいう。文字を含めた状態で出現頻度を求める方法。tri-gram)」と呼ばれる。(終端)」と2文字ずつ分割して索引化を行ってやれば、検索漏れが生じず、辞書の必要も無い。出典:Wikipedia実際にN-gramがどんなものかというと、例えばキーワードが「abc」の場合は以下のようになります。abc今回はこのN-gramをRubyで作成します。Rubyのコード以下のコードでは「Ruby」というキーワードをN-gramの対象として使います。以下のようにeach_consメソッドを使うことでN-gramが実現出来ます。each_consメソッドは「n個の連続した要素を1つずつずらしながら繰り返す」という役割を持っています。ngram.compact.join(",")出力結果は以下のとおりです。"R,u,b,y,Ru,ub,by,Rub,uby,Ruby"これで全文検索を行うためのデータを簡単に用意することが出来ます。