Extractor機能

ひとまず、word, excel, powerpoint, visio, publisher, pdf からテキストを取得する機能を追加してみた。ms office 系は POI に投げている感じだけど。これはこれで、読めるものを増やしていきたいところ。そんな感じで、MIMEタイプの判定のところもそうだけど、Extractor のところもクロール機能とは関係なく、それだけで利用できるようにdiconを分けてみたりしておいた。

ファイルシステム対応

全文検索のFessでローカルにあるようなファイルもインデックス化するために S2Robot にファイルシステムも巡回できるように機能追加してみた。file:// で始まるパスを渡せば、そこからファイルシステムを辿っていく感じ。次は Word や Excel の中身の文字列を取得する機能を加えようかね。

マルチスレッドの調整

S2Robotクラスの中にS2RobotThreadのインナークラスがあって、それがスレッドという感じで動いていたのだけど、こういう構成だとトランザクション周りがどうもおかしいので、そこら辺を見直して、インナークラスをやめることにしてみた。簡単に直せるだろうと思ったら、結構キツカッタ…。マルチスレッドの共有キューみたいなのは結構ややこしいな(こっちを止めたら、あっちを動かしてみたいな…)。そんな感じで、そこいらを自分で作らず、何かのライブラリを使った方が楽だったかも。