pepponの日記 このページをアンテナに追加 RSSフィード

2008-10-22

DBICでsenna(tritonn)のkwicを使ってみる

DBICsenna(tritonn)のkwicを使ってみた。

kwicってのはtritonnが提供しているgoogle検索結果っぽく表示してくれる関数


my $kwic_query = 'me.wiki_text,\'150\',\'1\',\'1\',\'\',\'\','.$search_query.'\',\'<span class="hit_keyword">\',\'</span>\'';

my $wikipedia = $c->model('DBIC::Wikipedia')->search(
    id => $wikipedia_id,
    {
	'+select' => [
	    {'kwic' => $kwic_query},
	],
	'+as' => [
	    qw/wiki_text/,
	],
    }
);

なんか大変だけど

$wikipedia->first->wiki_text;

で取得できたし、ちゃんと<spanもついていた。

http://qwik.jp/tritonn/reference.html

2007-03-07

senna試してみた

MySQLバインディングsennaしてみた。

mysql-5.0.33 + Patch mysql-5.0.24a.senna.diffのこんぼで。

無事にmakeも通ってインストールして起動させてみた。

なぜかMySQLにアクセスできない

[ERROR] The update log is no longer supported by MySQL in version 5.0 and above. It is replaced by the binary log.

binarylogとかDBをいったん全部消してmysql_install_dbしてから再び再起動させたら、延々と自身でMySQL再起動してbinary log がどんどんふえてく。


で、止めた。 MySQLは全て削除最初から、もう一度1.0.1のパッチをあてて起動でうまくいった。

インストール後うまくいくかテスト

MySQLバインディングを用いた動作確認例

http://qwik.jp/senna/check_install.html

上記をやってみたけどうまくいかない。

なんでだろー? でかなりはまる。

原因は・・・

じぶんはmecabつかわないN-gramインストールしたのに

http://qwik.jp/senna/check_install.html

↑のままやってたこと。 N-gramの場合、FULLTEXT(body)ではなく,

FULLTEXT INDEX USING NGRAM (body)としなきゃならないわけです。 MLみてたらにたように人あてのアドバイスがあって気づいた。(もじばけしてみえなかったけど)

でもsennaN-gramにする意味あんまないのかな? 自動再検索するのが特徴だからさいしょにわかち書きなmecabで検索してもらって、漏れが出たら自動再建策でN-Gramっぽい検索するみたいなので、やっぱmecab入りのsennaがいいのかな。

↑よくわかってないけどインデックス自体をmecabでわかち単語インデックスとかつかってつくるのかな?だとしたら上に書いたのは嘘です。