きまぐれ日記:はてなキーワードを高速に付与という エントリーがとても気になる内容です。 はてなダイアリーの内部処理の中でも重めの処理である、キーワード抽出・リンクについて、高速化を試みるというとてもありがたい内容です。 高速化にはAC法という方法を使用しているようです。(恥ずかしながら全く知りませんでした。) AC法の肝はトライ (TRIE) という木構造を利用して、高速に前方一致検索が出来るところです。 トライの説明は高林さん(namazuの中の人)の説明がとても分かりやすくておすすめです。 要は一文字ごとにばらして、ツリーに格納しておいて、検索後のつづりの通りにツリーをたどるということらしいです。 トライの特徴は、辞書に登録されている項目の数がどんなに多くても、キーの長さに比例した時間で探索が行えるという点である。 実際に 日記で紹介されている hatenakeyword というツール
![はてなダイアリーキーワード抽出・リンクを高速化したい - higepon blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/0ab2610e529759a1d1c3e57954423635b24816a9/height=288;version=1;width=512/https%3A%2F%2Fimages-fe.ssl-images-amazon.com%2Fimages%2FI%2F41al-yJt6pL._SL160_.jpg)