X



組み込み型全文検索エンジンSenna
0157153
垢版 |
2007/09/25(火) 01:29:01ID:???
>>156
thx.
試してみたけど1個目の HTML でいきなりこけてた…
0158153
垢版 |
2007/09/25(火) 02:01:50ID:???
あーうちの環境依存の問題かな…
どんな HTML 食わせても File::Extract が undef 返すっぽいわ…
0159153
垢版 |
2007/09/25(火) 13:05:25ID:???
Perl 5.8.0 環境で動かすのは諦めておとなしく Perl 5.8.8 で動かすことにしたらすんなり先に進んだよ。

で、やたら文字化けするから変だと思ったら、
$main::IndexConvert を 1 に変えておかないとダメなのね。

それでもやっぱりスニペットが文字化けしまくるし
その関係か日本語でほとんどヒットしない。
で、さらに調べたところ、
File::Extract::Result->text() は
元の HTML の文字コードにかかわらず UTF-8 バイト列を返すっぽい (たまに UTF-8 文字列を返すこともある) ので、
164行目の
Encode::from_to($buf,$guess, $encoding) if($main::IndexConvert); は
Encode::from_to($buf, 'utf8', $encoding) if($main::IndexConvert); にしないとダメぽ。

ほか俺が使う時にデフォルト設定から変えた部分↓
$main::Indexcode = SEN_ENC_EUCJP; (MeCab に合わせて)
$main::Indexflags = SEN_INDEX_NORMALIZE; (正規化する、N-gram 使わない)
@main::GuessCode = qw/cp932 euc-jp utf8 7bit-jis/; (shiftjis より cp932 の方が無難かな)
$main::SkinDir = 'skinfiles/'; (パッケージ展開した直後の状態に合わせて)

で、文字化け問題は大方解決したんだが、
多数ヒットするキーワードで検索すると
Out of Memory というエラーメッセージが出て結果が出ないことがある。

それから Readme にも書いてあるけど TITLE とか H1, H2 とか A とかに重み付けしたスコアリングは欲しいね。
レスを投稿する


ニューススポーツなんでも実況