環境
windows11
jdk 17
docker 27.1.1
Fess 14.15.0
opensearch 2.15.0
注意:Fessのバージョンとopensearchのバージョンは対になっている。
参考
https://fess.codelibs.org/ja/downloads.html
インストールと各初期セットアップ
■jdk 17
https://www.oracle.com/java/technologies/downloads/?er=221886#java17
■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ドライブ直下にダウンロードしました。
C:\docker-fess-master
docker-fess-masterの中に次の2つのファイルを作成します。
①compose.yaml
②compose-opensearch2.yaml
作成した中身の編集を行います。
①compose.yaml
services:
fess01:
image: ghcr.io/codelibs/fess:14.15.0
# build: ./playwright # use Playwright
container_name: fess01
environment:
- "SEARCH_ENGINE_HTTP_URL=http://es01:9200"
- "FESS_DICTIONARY_PATH=${FESS_DICTIONARY_PATH:-/usr/share/opensearch/config/dictionary/}"
# - "FESS_PLUGINS=fess-webapp-semantic-search:14.15.0 fess-ds-wikipedia:14.15.0"
ports:
- "8080:8080"
networks:
- esnet
depends_on:
- es01
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "5"
restart: unless-stopped
networks:
esnet:
driver: bridge
②compose-opensearch2.yaml
services:
es01:
image: ghcr.io/codelibs/fess-opensearch:2.15.0
container_name: es01
environment:
- node.name=es01
- discovery.seed_hosts=es01
- cluster.initial_cluster_manager_nodes=es01
- cluster.name=fess-es
- bootstrap.memory_lock=true
- node.roles=cluster_manager,data,ingest,ml
- plugins.security.disabled=true
- "OPENSEARCH_JAVA_OPTS=-Xms1g -Xmx1g"
- "FESS_DICTIONARY_PATH=/usr/share/opensearch/config/dictionary"
- OPENSEARCH_INITIAL_ADMIN_PASSWORD=065@JMcZ#aBI5T
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65535
hard: 65535
volumes:
- esdata01:/usr/share/opensearch/data
- esdictionary01:/usr/share/opensearch/config/dictionary
ports:
- 9200:9200
networks:
- esnet
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "5"
restart: unless-stopped
volumes:
esdata01:
driver: local
esdictionary01:
driver: local
Fess稼働
コマンドプロンプト画面で打ってください。
cd \docker-fess-master
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$
深さ:ディレクトリ階層の深さです
最大アクセス数:クロールできる最大数のファイルです。ファイル数が7000ほどのディレクトリをクロールしていたので10000と設定しました。
名前:任意
パス: smb://192.168.0.100/〇〇〇/
smb://に続けてサーバー名を書いてください。最後は/で締めましょう。
次にサーバー名に接続するためのファイル認証設定をします。
クローラー
ファイル認証
新規作成
ホスト名:サーバーのIPアドレス
ユーザー名:そのサーバーの任意のディレクトリに入れるユーザー名
パスワード:そのサーバーの任意のディレクトリに入れるPW
ファイルクロール設定:認証情報を紐づけたいファイルシステムの名前
クロール開始
~~クロール中~~
システム情報
ジョブログ
ここで、クロールの稼働状況が見れます。
システム情報
クロール情報
ここで、クロール完了したインデックスが見れます。