• HOME
  • 記事一覧
  • FESSで統合ファイルサーバの全文検索システム構築
  • DX
  • サーバー

FESSで統合ファイルサーバの全文検索システム構築

N.CongThien
N.CongThien
  • 全文検索
  • opensearch
  • fess
  • Java

皆様、初めまして。
初めてブロック投稿するIT基盤本部のグエンです。
先日、社内統合ファイルサーバの全文検索システムをリリースしました。
このシステムの設計・構築を担当するチームの一員として、今回のブログではその体験をレポートいたします。

抱える課題

社内でファイルサーバを利用する際、多くの不満の声が上がっています。特に以下の点が問題となっています:

  • ファイルサーバ上でファイルを探すのに非常に時間がかかる。
  • 資料を作成する際に、過去の参考資料を見つけるために関連単語で検索できると便利。
  • エクスプローラーで検索を行うと、PCがフリーズしてしまうことがある。

そして、様々な検討を重ねた末に、ようやく辿り着いたのがFESSです。

FESSはオープンソースの全文検索システムです。その背景にはOpenSearch(以前はElasticsearch)が動作しており、ファイルサーバ上のファイルやWebサイトのテキストなどを事前にインデックス化するクローラ機能を備えています。これにより、検索時には瞬時に結果を得ることができます。また、FESSは日本語にも対応しており、日本国内で高い人気を誇っています。

システム展開

日常業務で活躍するシステムには、安定性や耐障害性が求められます。また、社内ファイルサーバとの連携において、高速かつ高セキュリティーであることが必須です。そのため、社内基盤での展開に至りました。

必要なリソースや構築手順については、FESS公式サイトで詳細に説明されていますので、ここでは割愛いたします。以下が展開環境に関する情報です。

展開環境

  • OS:Window Server
  • Java:OpenJDK17
  • fess-14.18.0
  • opensearch-2.18.0
  • ユーザー認証:LDAP

公式手順に従ってファイルシステムのクローラーや認証情報の設定はスムーズに進みましたが、チューニングに入った途端、エラーが多発しました。特に時間がかかったのが以下の項目です。

■チューニングその1:
 最大ファイルサイズが徐々に増加し、適切な値を設定するのに時間を費やしました。値を大きくし過ぎると不要なファイルまでクロールされ、時間がかかってしまいます。

■チューニングその2:
 システムのメモリ不足が原因で、クローラーが途中で停止しました。一気に最大メモリを増やしてしまうとOS等のメモリ不足を引き起こし、大変なことになるため、慎重なチューニングが必要でした。

通常業務と並行しての対応だったので、リリースのスケジュールを気にしつつ進めていました。試行錯誤の末、最適な値を設定できた後、対象ファイルのクロールには約2週間がかかりました。検討から始めて約1年かけて、ようやく無事にリリースを迎えることができました。

受賞の喜び

今回実施した案件を、IT基盤本部の業務カイゼン発表会にエントリーしました。社員の皆さんの役に立ったと認められ、優秀賞を受賞できてとても嬉しいです!

この業務カイゼン発表会は、毎年IT基盤本部が開催するイベントで、日常業務をより良くするための取り組みを紹介し、その成果を評価してもらう場です。

今後の展開

システムは安定稼働フェーズに入りましたが、ファイルサーバが日々増加しているため、いつの間にか再びチューニングが必要になることもあります。さらに、今後の機能拡大も計画しています。具体的には、リリース後に他のブログでも紹介された自社生成AIとの連携を進めたいと考えています。また、SharePointサーバーも検索対象に含める予定です。

新着記事一覧へ