Fessは非常に強力で、簡単に導入できるエンタープライズ検索サーバーです。FessはJavaランタイム環境が動作する任意のプラットフォーム上で簡単にインストールして実行できます。FessはApache License 2.0の下で提供されています。
FessはOpenSearchをベースにしていますが、OpenSearchに関する知識や経験は不要です。Fessは、ブラウザを介してシステムを簡単に設定できる管理者向けのGUIを提供しています。Fessにはクローラも含まれており、Webサーバー、ファイルシステム、またはデータストア(CSVやデータベースなど)のドキュメントをクロールできます。Microsoft Office、PDF、zipなど、多くのファイル形式に対応しています。
*Fess Site Search*は、Google Site Searchの無料代替です。詳細については、FSS JS Generatorのドキュメントを参照してください。
Fessを試す方法は2つあります。1つは自分でダウンロードしてインストールする方法、もう1つはDockerを使用する方法です。
Fess 14.17が利用可能で、リリースページからダウンロードできます。ダウンロードには、deb、rpm、zipの3つの形式があります。
以下のコマンドは、zipファイルを使用する例です:
$ unzip fess-14.17.x.zip
$ cd fess-14.17.x
$ ./bin/fess
詳細については、インストールガイドを参照してください。
ghcr.ioにDockerイメージを提供しています。また、このリポジトリにはDocker Compose(YAML)ファイルも用意されています。こちらのリポジトリで確認できます。
- 検索UI: http://localhost:8080/
- 管理者UI: http://localhost:8080/admin/ (デフォルトのユーザー名/パスワードはadmin/adminです)
管理者UIでは、(Web、ファイル、データストア)クローラの設定ページでクロール対象を登録し、スケジューラページから手動でクローラを開始できます。
MIGRATION.mdを参照してください。
現在、Fessは以下のストレージロケーションとAPIのクロールをサポートしています:
- Confluence/Jira
- Box
- CSV
- Database
- Dropbox
- Elasticsearch
- Git
- Gitbucket
- G Suite
- JSON
- Office 365
- S3
- Salesforce
- SharePoint
- Slack
-
Fessのリポジトリをクローンします:
$ cd ~/workspace $ git clone https://github.com/codelibs/fess.git
antrun:runを実行して、プラグインをpluginsディレクトリにダウンロードします:
$ mvn antrun:run
IDE上でorg.codelibs.fess.FessBoot
を実行またはデバッグし、http://localhost:8080/ にアクセスします。
package
ゴールを実行すると、releaseファイルがtarget/releasesディレクトリに作成されます。
$ mvn package
$ mvn rpm:rpm # .rpmパッケージ
$ mvn jdeb:jdeb # .debパッケージ
$ mvn dbflute:download # (一度だけ実行)
$ mvn dbflute:freegen
$ mvn license:format
Fessサーバーを起動し、以下のコマンドを実行します:
$ mvn test -P integrationTests -Dtest.fess.url="http://localhost:8080" -Dtest.search_engine.url="http://localhost:9201"
単一のテストケースを実行するには、以下のコマンドを使用できます:
$ mvn test -P integrationTests -Dtest.fess.url="http://localhost:8080" -Dtest.search_engine.url="http://localhost:9201" -Dtest=SearchApiTests
Fessは国際化対応ソフトウェアです。
ラベルやメッセージをあなたの言語に追加したい場合、プロパティファイルを翻訳してからfess\_\*\_[lang].properties
という名前に変更してください。
検索/インデックスアナライザーの設定については、doc.jsonに言語別のlang\_[lang]
が含まれているか確認し、その言語に合わせてアナライザーを修正してください。アナライザーに関する詳細は、OpenSearchのドキュメントを参照してください。
私たちは、あなたの言語でのプルリクエストを歓迎します。
- Lasta Di: DIコンテナ
- LastaFlute: Webフレームワーク
- Lasta Job: ジョブスケジューラ
- Fess Crawler: Webクローラ
- OpenSearch: 検索エンジン