サーバにフォルダを用意してその中のファイルを作成した仕組みを通してクライアントから参照し、検索することを想定しています。
意外ともう忘れられてしまっている感がありますが、Windowsには「Windows Search」と言うファイル名やファイルの中身を対象に検索する機能をWindows Vistaの時代から標準で搭載していて、ユーザー独自のプログラムからもその機能を利用することができます。
Windows Search 開発者ガイド - Microsoft Learn
最近ではSSDが一般化したことを含め、PC自体のスペック向上に伴ってこの機能が無効化されたまま(≒存在を忘れられたまま)になることも多いように思いますが、まだ現役で使える機能です。この機能をWindowsのファイルサーバー側で有効にし、検索機能を提供するWEBアプリとして公開することでWEBブラウザーで扱うことも可能になります。
今回のご質問内容に興味がわいて検索してみたところ、実現可能性を考える上でサンプルとして適切と思える記事がヒットしましたのでご紹介しておきます。
Windows Search ASP.NET - CODE PROJECT
こちらのサンプルコードはASP.NETで動作するWEBアプリで、これまたWindowsで標準で使えるIISでホスティングすれば動作します。
画面上部、HTMLのtextarea
に入力したクエリーでファイル名やファイルの内容自体の検索形式を指定します。
例えば「ファイル名に'hoge'が付くか、ファイル名が't2.vbs'か、ファイルの内容に文字列'テスト'が含まれるファイルの一覧を得る」例として、以下のように指定します。
plain
1SELECT System.ItemUrl, System.ItemName, System.ItemType, System.KindText,
2 System.Filename, System.Size, System.DateModified, System.Search.Rank
3FROM SystemIndex
4WHERE scope ='file:C:\'
5AND System.FileName LIKE '%hoge%'
6OR System.FileName = 't2.vbs'
7OR CONTAINS('テスト')
※日本語文字列でファイルの内容自体を検索する場合、ファイルはUTF-16でエンコードされている必要がありました。この辺りはHTMLやASP.NETのスクリプト側の文字コードの指定等、追加で対応が必要になるかと思います。
当方のWindows 10環境で試した画像を示しておきます。Windows 10のIISに上記WEBアプリを配置し、ASP.NETを有効にして稼働させ、Microsoft Edgeで動作させたものです。特別なものは入れていません。

WEBブラウザー上でクエリーを指定することで、サーバー側でWindows Search機能を実行し、結果をレスポンスとして返してWEBブラウザー上に表示するというかんじが伝わりますでしょうか。紹介させてもらったプログラムをそのまま稼働させただけなので、一覧に表示されているファイルをクリックすることでそのファイルをダウンロード、表示するような機能は自力で別途追加する必要があります。簡単に考えた限りクリックされたファイル名を特定してサーバー側で読み出し、適切なContent-Type:
等を指定してHTTPレスポンスとして返せば、ファイル自体をダウンロードしたりWEBブラウザー上で表示したりできるでしょう。
注意することは色々ありますが、ファイルサーバーがWindows Serverだとすると「Windows Search」サービスを有効化する必要があります。
その上でファイルを配置するディレクトリ(フォルダー)をWindows Searchのインデックス作成対象に追加します。
Windows Server 2016 では Windows Search が既定で無効になっています - Microsoft Learn
尚、技術的な話とは離れますので詳しくは述べませんが、Windowsで稼働させているファイルサーバーはWindows Server、Windows 10等のクライアントOS共に、クライアントから同時にアクセスできる数はWindowsのライセンス上でも制限があるはずなので、ご注意ください