鈍足ランナーのIT日記

走るのが好きな5流のITエンジニアのブログ。

趣味の範囲は広いけど、どれも中途半端なクソブロガー楽しめるWebアプリを作ってあっと言わせたい。サーバーサイドPerl(Mojolicious)、クライアントサイドVue.js。Arduinoにも触手を伸ばす予定。

WEB+DB PRESS 総集編をFESSで検索できるようにする


PCにWEB+DBのコンテンツを格納する

自分の場合は/Users/dokechin/Downloads/webdb_sp_001-102に格納しています。

Docker for MAC OSの導入

Docker Store
設定画面を開いてメモリ設定を2G->3.5Gに変更します。(ElasticSearchをメモリ2G使うため)。

FESSのコンテナを起動する

  • vオプションで設定するパスをPDFを格納した各自のディレクトリに変えてください。
docker run  -d -p 8080:8080 --name fess -v /Users/dokechin/Downloads/webdb_sp_001-102/:/webdb_sp_001-102 codelibs/fess:latest

クロールの最大ファイルサイズを変更する

web+dbプレスのPDFファイルのサイズは大きいので,最大はvol2のPDFで240Mあります。
そのため、FESSの最大コンテンツサイズを変更する必要になります。
また、elasticsearchのメモリの設定も1Gから2Gへ変更します。
viで設定ファイルを編集したいところでしたが、viがインストールされていないようだったので、別の方法で編集します。
sedでも出来るのですけれど、やっぱりperlで編集しました。簡単ですね。
編集後に、コンテナを再起動します。

docker exec -it fess bash
perl -i -pe 's/10485760/248000000/' /usr/share/fess/app/WEB-INF/classes/crawler/contentlength.xml
perl -i -pe 's/-Xms1g/-Xms2g/' /etc/elasticsearch/jvm.options
perl -i -pe 's/-Xmx1g/-Xmx2g/' /etc/elasticsearch/jvm.options
exit
docker restart fess

FESSの管理画面を開く

http://localhost:8080をブラウザで開く。
管理画面へログインを行う。ユーザID、パスワード初期値はadmin/adminとなっている

クロールの設定

システム>ウィザードから選ぶ。
f:id:kechiya:20180519075122p:plain

名前は適当に入力して、パスには「file:/webdb_sp_001-102/webdb_pdf/」を入力します。
クロールを開始する
f:id:kechiya:20180519075415p:plain
こちらのMacBookAirでは16分程度かかりました。

検索してみる

f:id:kechiya:20180519081738p:plain

イメージを保存

docker commit fess dokechin/fess

ローカルイメージをマシンの起動に合わせてコンテナを起動する

docker run  --restart=always -d -p 8080:8080 --name fess -v /Users/dokechin/Downloads/webdb_sp_001-102/:/webdb_sp_001-102 dokechin/fess