環境
windows11
docker 27.1.1
Fess 14.17.0
opensearch:2.17.0
注意:Fessのバージョンとopensearchのバージョンは対になっている。
参考
https://fess.codelibs.org/ja/downloads.html
インストールと各初期セットアップ
■docker
https://www.docker.com/products/docker-desktop/
セットアップの参考文献 https://qiita.com/gahoh/items/7b21377b5c9e3ffddf4a
windowsでdockerを稼働させるときはWSL2にチェック入れる事。
インストール後でもWSL2にチェック入れれます。歯車マーク→Resourcesから設定
■Fess
https://github.com/codelibs/docker-fess.git
自分はCドライブ直下にダウンロードしました。
2つのディレクトリを作成してください
C:\docker-fess-master\data\es
C:\docker-fess-master\data\fess
esにはオープンサーチのデータが入ってきます。インデックス付けしたデータとかです。
composeディレクトリの中を編集します。
C:\docker-fess-master\compose
①compose.yaml
services:
fess01:
image: ghcr.io/codelibs/fess:14.17.0
# build: ./playwright # use Playwright
container_name: fess01
environment:
- "SEARCH_ENGINE_HTTP_URL=http://search01:9200"
- "FESS_DICTIONARY_PATH=${FESS_DICTIONARY_PATH:-/usr/share/opensearch/config/dictionary/}"
# - "FESS_PLUGINS=fess-webapp-semantic-search:14.17.0 fess-ds-wikipedia:14.17.0"
ports:
- "8080:8080"
networks:
- search_net
depends_on:
- search01
volumes:
- C:/docker-fess-master/data/fess:/usr/share/fess/data
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "5"
restart: unless-stopped
networks:
search_net:
driver: bridge
②compose-opensearch2.yaml
services:
search01:
image: ghcr.io/codelibs/fess-opensearch:2.17.0
container_name: search01
environment:
- node.name=search01
- discovery.seed_hosts=search01
- cluster.initial_cluster_manager_nodes=search01
- cluster.name=fess-search
- bootstrap.memory_lock=true
- node.roles=cluster_manager,data,ingest,ml
- "OPENSEARCH_JAVA_OPTS=-Xms1g -Xmx1g"
- "DISABLE_INSTALL_DEMO_CONFIG=true"
- "DISABLE_SECURITY_PLUGIN=true"
- "FESS_DICTIONARY_PATH=/usr/share/opensearch/config/dictionary"
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65535
hard: 65535
volumes:
- C:/docker-fess-master/data/es:/usr/share/opensearch/data
- C:/docker-fess-master/data/es/dictionary:/usr/share/opensearch/config/dictionary
ports:
- 9200:9200
networks:
- search_net
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "5"
restart: unless-stopped
networks:
search_net:
driver: bridge
volumes:
search01_data:
search01_dictionary:
Fess稼働
コマンドプロンプト画面で打ってください。
cd \docker-fess-master\compose
docker compose -f compose.yaml -f compose-opensearch2.yaml up -d
ダウンロード始まります。
終了後、dockerのメニュー画面でFess立ち上がってるの確認できます。
port(s)の8080:8080をクリックしたらFess画面へ行けます。
クロール設定
ネットワーク共有フォルダーの設定を行います。
ログイン
ユーザー名:admin
PW: admin
adminは初期設定です。
http://localhost:8080/ にアクセス
管理者でログイン成功しました。次は管理画面に入ります。
admin
管理
クローラー
ファイルシステム
新規
検索対象から除外するパス:この設定は検索結果に出てこなくていい拡張子を指定しています。exeなんか、出ても仕方がないですよね。ファイルサイズも大きいのでいりません。
.*\.exe$|.*\.zip$|.*\.war$|.*\.jar$|.*\.tar\.gz$|.*\.tmp$|.*Thumbs\.db$|.*\.lnk$|.*\.accdb$|.*\.msp$|.*\.msi$|.*\.JPG$|.*\.jpg$|.*\.png$|.*\.MOV$|.*\.BMP$
深さ:ディレクトリ階層の深さです
最大アクセス数:クロールできる最大数のファイルです。ファイル数が7000ほどのディレクトリをクロールしていたので10000と設定しました。
名前:任意
パス: smb://192.168.0.100/〇〇〇/
smb://に続けてサーバー名を書いてください。最後は/で締めましょう。
全般設定
最終更新日時の確認
チェックを外すと更新の有無に関わらず全てのドキュメントを再インデックスします。
以前のドキュメントを削除
-1
デフォルトでは3日後にインデックスがすべて削除されてしまう設定?
除外するエラーの種類
org.codelibs.fess.es.client.FessEsClientException|org.codelibs.fess.exception.ContentNotFoundException
障害数の閾値
3
しきい値を超えた障害URLをクロール対象から除外します。
次にサーバー名に接続するためのファイル認証設定をします。
クローラー
ファイル認証
新規作成
ホスト名:サーバーのIPアドレス
ユーザー名:そのサーバーの任意のディレクトリに入れるユーザー名
パスワード:そのサーバーの任意のディレクトリに入れるPW
ファイルクロール設定:認証情報を紐づけたいファイルシステムの名前
クロール開始
~~クロール中~~
システム情報
ジョブログ
ここで、クロールの稼働状況が見れます。
システム情報
クロール情報
ここで、クロール完了したインデックスが見れます。