はじめに
FESS (Flexible and Extensible Search System) は、オープンソースの検索エンジンです。この記事では、Windows環境でDocker Desktopを使用してFESSを導入する手順を説明します。
前提条件
- Windows 10または11がインストールされていること
- Docker Desktopがインストールされ、起動していること
手順
1. Docker Desktopのインストール
- Docker公式サイトからDocker Desktopをダウンロードします。
- ダウンロードしたインストーラーを実行し、画面の指示に従ってインストールを完了させます。
- インストールが完了したら、Docker Desktopを起動し、タスクバーのDockerアイコンが安定した状態(クジラのアイコン)になっていることを確認します。
2. Dockerのメモリ設定の変更
FESSを使用する際、デフォルトのメモリ設定では不足する場合があります。WSL 2を使用している場合は、.wslconfig
ファイルを作成し、適切なメモリ設定を行います。
- Disk image locationのフォルダ(通常は
C:\Users\<ユーザー名>
)に移動し、.wslconfig
ファイルを作成します。cd ~ notepad .wslconfig
- 以下の内容をファイルに記述し、保存します(例としてメモリを4GBに設定)。
[wsl2] memory=6GB # メモリの最大使用量 processors=2 # 使用するCPUコアの数 swap=2GB # スワップファイルのサイズ
- Docker Desktopを再起動します。
3. FESSリポジトリのクローン
- 作業ディレクトリを作成します。
mkdir fess-docker cd fess-docker
- Gitを使用してFESSのDockerリポジトリをクローンします。
git clone https://github.com/codelibs/docker-fess.git
- クローンしたリポジトリのディレクトリに移動します。
cd docker-fess
4. Docker Composeの設定
-
docker-compose.yml
ファイルを確認し、必要に応じて編集します。基本的にはデフォルトの設定で問題ありませんが、カスタマイズが必要な場合は適宜設定を変更してください。
5. FESSコンテナの起動
- README.mdに記載されているコマンドを使用してFESSコンテナを起動します。
docker compose --env-file .env.elasticsearch -f compose.yaml -f compose-elasticsearch8.yaml up -d
- 起動が完了したら、ブラウザで以下のURLにアクセスし、FESSの管理画面にログインします。
http://localhost:8080
6. FESSの初期設定
-
画面右上のログインから管理画面にアクセスします。
アカウント: admin
パスワード: admin
※パスワードは初回ログイン時に変更を求められます。
-
クロール設定
FESS管理画面で、ファイルのクロール設定を行います。詳細な設定手順は公式ドキュメントを参照してください。
メニューから「クローラー」を選択
「ウェブクロール設定」を開く
新規作成ボタンをクリック
必要な情報を入力
例として、Yahoo Japanをクロールする設定は以下の通りです。
名前: yahoo test
URL: https://www.yahoo.co.jp/
クロール対象とするURL: https://www.yahoo.co.jp/.*
クロール対象から除外するURL: (?i).*(css|js|jpeg|jpg|gif|png|bmp|wmv|xml|ico|exe)
設定後、「作成」ボタンをクリックします。
ファイルのクロール設定
ローカルファイルをElasticsearchの検索対象にするためには、まず被検索対象をクロールする必要があります。
「新規作成」ボタンをクリック
検索対象にしたいファイルのある場所
例:「file:///var/log/」に設定
-
クロールの実行
設定が完了したら、クロールを実行してデータを収集します。管理画面から「ダッシュボード」に戻り、「クロールの開始」ボタンをクリックします。 -
検索の確認
クロールが完了したら、検索バーにキーワードを入力して、正常に検索結果が表示されることを確認します。
トラブルシューティング
- コンテナが正常に起動しない場合、以下のコマンドでログを確認します。
docker-compose logs
- エラーが発生した場合は、設定ファイルやDockerの状態を確認し、必要に応じて修正します。
まとめ
以上で、Windows環境でDocker Desktopを使用してFESSを導入する手順は完了です。FESSを活用して、効率的な検索エンジンを構築しましょう。
この手順に従って、FESSの導入をスムーズに行うことができます。Dockerの基本的な操作や設定ファイルの編集に慣れていない場合は、公式ドキュメントや関連するリソースを参考にすると良いでしょう。