Hatena::ブログ(Diary)

グニャラくんのグニャグニャ備忘録@はてな このページをアンテナに追加 RSSフィード

業務でお世話になっている業者

2008-01-08 パコス メイド シンプル

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じゃない…

SennaPHPバインディングid:rskyが作っているのですが、

sen_symへのインターフェースがない…


sen_symへのインターフェースがあればPHPから使えて、元記事の完パクリが出来たんだけどなあ。

問題点2: 文字コードEUCのみ

hatenapo.cのsen_enc_euc_jpをsen_enc_utf8なんかに全て置換すればOK。

まとめ

パクリきれなかった。非常に残念…

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/tasukuchan/20080108/php_senna_keywordlink
Profile

tasukuchan

tasukuchan

グニャラくんが技術メモをそこはかとなく書きつくるところ

Comment
カウンター

あわせて読みたい

なかのひと

Connection: close