メインコンテンツへ移動

探せることと、見せてよいことを同時に設計する。

CASE STUDY ・ WEBサービス ・ FileScope(仮称)

  • Express
  • Elasticsearch
  • TypeORM
  • MySQL
  • Python

※ 機密保持のため、企業名・プロジェクト名・システム画面は仮名およびモックに置き換えています。

01CLIENTお客様について

深いフォルダ階層を、検索できる業務入口に変える

対象は、業務で発生するドキュメントやデータをNASに蓄積している企業です。フォルダ階層が深くなると、保存場所を知る担当者に問い合わせるか、階層を順番にたどる必要があります。

AMELAは、NASを巡回するクローラ、Elasticsearchによる検索、Web画面、ファイル配信、利用者・権限管理を含む基盤を構築しました。企業名、プロジェクト名、画面内のファイル名・件数・日時・応答時間は、機密保持のため承認済みの仮名・モックに置き換えています。

02CHALLENGE解くべき設計課題

先に分けたのは、検索を支える四つの責任です

検索機能だけを先に作るのではなく、正本であるNASと検索用索引の関係、利用者が行える操作、更新を担う運用者を分けて設計しました。

  • 検索対象

    どのNAS・共有フォルダを登録し、どこを除外するかを管理します。

  • 検索情報

    ファイル名、パスなど、索引に保持する情報と更新方法を決めます。

  • 閲覧権限

    検索結果の表示、ダウンロード、再登録、利用者管理の権限を分けます。

  • 更新運用

    追加・移動・削除されたファイルを索引へ反映し、失敗時に再実行します。

03ARCHITECTURE共に築いた構成

クロール、検索、取得を一つの流れにした実装

Pythonのクローラが対象パスを巡回し、検索に必要な情報をElasticsearchへ登録します。Web APIにはExpress、業務データ管理にはTypeORMとMySQLを用い、検索結果から許可された操作へ進める構成としました。

登録対象と最終処理時刻を表示するFileScopeのインデックス管理画面
対象パスごとの登録状態と再登録操作を示す公開用モック画面です。件数、時刻、応答時間は実績値ではありません。
操作権限と利用者ロールを表示するFileScopeの権限管理画面
検索、取得、再登録、利用者管理の操作をロール別に分ける公開用モック画面です。氏名と状態は例示用です。
04IMPACT生み出す価値

確認できたのは、検索と運用を分ける仕組みです

公開デモでは、ファイル名・パスで検索し、結果から取得操作へ進む画面を確認できます。管理画面では、登録対象ごとの状態と再登録操作、ロール別の操作権限、利用者一覧を確認できます。

一方で、公開資料からは、本番のファイル件数、応答時間、索引更新間隔、検索精度、権限連携方式、障害実績、セキュリティ水準、探索時間の削減率を実績として確認できません。そのため、本記事では構成と運用境界を成果として扱い、数値的な効果は示していません。

05CLIENTお客様について

この事例の根拠と読み方

  • 根拠:AMELAの移行元ケース資料、CMS登録内容、2026年8月25日に確認した公開デモの動作と画面。
  • 対象期間:公開資料に記載された開発範囲と、上記確認日時点のデモ。
  • 確認できること:NASクロール、Elasticsearchへの登録、名前・パス検索、取得操作、登録対象管理、ロール・利用者管理を含む構成。
  • 確認できないこと:本番データ量、処理性能、更新頻度、検索精度、権限の正本との同期方式、可用性、監査・認証・法令適合の水準、業務時間の削減率。
  • 公開上の扱い:企業名、プロジェクト名、画面、ファイル名、件数、日時、応答時間は機密保持のため仮名またはモックです。実在する顧客や個人を示すものではありません。
06CLIENTお客様について

導入前に、正本と検索索引の境界を決める

検索索引はNASの代わりになる正本ではありません。ファイルの移動・削除・権限変更が検索結果へどう反映されるか、暗号化・破損・未対応形式をどう扱うか、NASへ接続できない場合に何を通知するかを決める必要があります。

ダウンロード時には、検索時点だけでなく取得時点でも権限を確認する設計が必要です。監査ログ、保存期間、バックアップ、復旧、負荷試験の条件は、設置先の情報管理方針とデータ量に合わせて別途検証してください。

07CLIENTお客様について

読者が使える実践ツール

要件定義の前に、次の検索対象・権限・更新・受入確認シートを埋めると、NAS側と検索基盤側の責任を整理できます。記入例は公開デモから確認できる機能を使い、数値目標は置いていません。

  • 正本:NASを正本、Elasticsearchを検索用索引とする。移動・削除時の反映方法を決める。
  • 検索対象:承認済みの共有フォルダだけを登録する。除外パスと追加申請者を決める。
  • 操作権限:閲覧者は検索・取得、運用者は再登録、管理者は利用者・権限管理を担当する。
  • 更新運用:定期登録と手動再登録を用意する。失敗の通知先、再実行、未処理確認を決める。
  • 受入確認:許可外の利用者に結果を表示しない、移動・削除を反映する、取得時に再認可する、失敗を記録する。

応答時間や更新間隔を評価する場合は、対象件数、ファイル形式、同時利用者、測定環境、除外条件をそろえて、導入前に受入基準を定義してください。

08IMPACT生み出す価値

検索速度より先に、公開範囲と更新責任を決める

社内ファイル検索で最初に合意すべきなのは、速度の目標だけではありません。何を検索対象にし、誰に何を見せ、変更をいつ反映し、失敗を誰が処理するか。この境界が決まれば、既製サービス、NAS製品の拡張、個別開発を同じ条件で比較できます。

業務データとシステム運用の境界を整理したい場合は、AMELAのDXコンサルティング支援をご覧ください。