Sennaではてなキーワード自動リンクを実装する
[注意]このエントリはPHPとMecabでキーワード自動リンクを実装するのパクリです。
こんにちは、末永です。
今年もどうぞよろしくお願い致します。
Webサービスを開発していると、特定のキーワードを自動でURLリンクにする処理が必要になることがあると思います。今回は、このキーワード自動リンク機能を全文検索エンジンSennaを使って実装する方法を紹介したいと思います。
1. Sennaインストール
MeCabのインストールは必要ないので、こんな感じでインストールしてください。
$ ./configure --prefix=/usr --without-mecab $ make $ sudo make install
2. 辞書を作る
テキストファイルに、改行区切りでキーワードを記述したファイルkeyword.txtを作成します。
ただし、文字コードはEUC限定ですぞ。
Wikipediaのタイトル一覧なんかを持ってくるのもいいでしょう。
gzipされたUTF-8なので、解凍&nkfでコンバートしましょう。
Sennaをコンパイルしたディレクトリに移動して、
以下のコマンドを打ちます。
$ test/hatenapo keyword.dic ins < keyword.txt
3. キーワードリンクを確認
キーワードを付与する対象のarticle.txtというファイルを用意します。
2.と同じディレクトリで以下のように実行します。
$ test/hatenapo keyword.dic sel < article.txt
はてなキーワードがリンクされて出てきます!
問題点1: PHPじゃない…
SennaのPHPバインディングをid:rskyが作っているのですが、
sen_symへのインターフェースがない…
sen_symへのインターフェースがあればPHPから使えて、元記事の完パクリが出来たんだけどなあ。
まとめ
パクリきれなかった。非常に残念…