N2SM Intern Blog

学習したことをまとめていくブログです!

全文検索エンジンFessでゲームの攻略サイトを検索する

業務でFessを使ってみたのでQiitaに記事を載せました。

Fessでゲームの攻略サイトを検索する - Qiita

ここにも載せておきます。

1.艦これWikiを検索したい

艦これwiki http://wikiwiki.jp/kancolle/ のようなゲーム攻略サイト内の検索BOXを使ってみると。 Screenshot from 2015-05-15 19:08:39.png

Too many access!

という感じで検索がうまくできないことがあります。これは不便です。何か良い方法はないものか・・・。

2.Fessを導入

ということでFessという全文検索サーバを使ってみました。公式サイトはこちらです。 http://fess.codelibs.org/ja/ Fessは全文検索サーバと言われるもので、指定したWebサイトやファイルシステムを検索してくれます。これで艦これwikiを検索できるようにします。

早速やってみます。環境を作るのは非常に簡単です。 1.公式のサイトからzipファイルを落としてきて展開。 2.fess\fess-server-?.?.?\bin\ の中にあるstartup.batを実行する。 3.http://localhost:8080/fess を開く 4.↓の画面が表示されれば成功 Screenshot from 2015-05-15 19:31:11.png

これで準備は整いました!簡単ですね。この時点でまだドキュメントを登録していないので、検索を行っても検索結果が0件になります。

3.Fessを使う

では早速管理ページでドキュメントを登録してみます。 http://localhost:8080/fess/admin ここにアクセスするとユーザ名とパスワードを聞かれます。デフォルトでは共にadminを入力すれば入れます。 Screenshot from 2015-05-15 19:40:43.png

最初、設定ウィザードの画面が開いていますが、これは初めてFessを使う人が簡単にクロールの設定ができるように置いてあるものです。とりあえずこれは無視して「クロール」欄の「ウェブ」を開き、「新規作成」をします。

Screenshot from 2015-05-15 19:57:15.png

「設定名」は任意です。kankorewikiとしておきました。「URL」にクロールしたいURLを書きます。http://wikiwiki.jp/kancolle/ にします。「最大アクセス数」は10000、「間隔」は1000ミリ秒としておきます。他はデフォルトにします。「作成」をクリックして設定内容を確認して下の「作成」をクリックします。これでウェブクロールの設定が終わりました。 次に「システム」欄の「システム設定」を開きます。 Screenshot from 2015-05-15 20:06:44.png

クローラー状態欄の「クロールの開始」をクリックします。これでクローラが動きます。しばらく経つとクローラーの状態が実行中から停止中になります。クロールが完了するまで待ちます。 クローラーが停止したのを確認したら一度ログアウトします。 http://localhost:8080/fess/ を開き検索BOXに「金剛」と入力。 Screenshot from 2015-05-20 13:38:32.png

検索結果が出てきます。最上位に表示されているリンクを開くと見事に金剛のページにアクセスできます。 Screenshot from 2015-05-20 13:43:59.png

4.クロールの設定

これで目標達成、と言いたいところですが少し問題点がありました。それは先ほどの検索結果の画面で最上位以外のリンクが「コメント/大型艦建造/レシピログ??」となっていています。開いてみるとただのログで有益な情報が載っていません。このようなリンクは邪魔ですから表示したくありませんね。そこで「コメント/〜」をクロール対象外にすることにします。 「クロール」欄の「ウェブ」を開き、先ほど作成したkankorewikiを編集します。 「クロールの対象から除外するURL」に以下を追加してください。 .*%a5%b3%a5%e1%a5%f3%a5%c8.* .*%A5%B3%A5%E1%A5%F3%A5%C8.* Screenshot from 2015-05-15 19:58:06.png

http://www.tagindex.com/tool/url.html 等のサイトでデコードすれば分かりますが、上記文字列は「コメント」を意味しています。これで「コメント/〜」はクロールされなくなります。 編集を完了し、再度クロールをする前に前回のクロールの情報を削除しておきます。「システム」欄の「インデックス」をクリックします。 Screenshot from 2015-05-20 14:10:39.png インデックス削除から「なし」を「すべて」に変えて削除をクリックします。これでインデックスが削除されました。 では前回と同じようにクロールを実行します。「システム設定」からクロールを開始します。 クロールが停止したのを確認してからログアウトし、検索BOXに「金剛」と入力。 Screenshot from 2015-05-15 20:14:39.png

「コメント/〜」は無くなり、前回より有益な結果が得られました。これで艦これwikiが使いやすくなりました。