静的コンテンツ (HTML、TXT、MD ファイル) および動的メモに対して迅速かつ効率的な検索機能を提供するように設計された、データベースを使用しない軽量の検索エンジンです。このプロジェクトは、検索の取得を高速化し、サーバーの負荷を軽減し、サービス ワーカーを通じてオフライン機能を提供するクライアント側のキャッシュ システムによりユーザー エクスペリエンスを向上させます。
クライアント側のキャッシュベースの検索エンジン
1. ホーム画面
2. 検索結果
3. オフラインアクセス
4. メモ取り機能
キャッシュディレクトリ設定
キャッシュの有効期限
目次
概要
特徴
仕組み
システムアーキテクチャ
インストール
使用法
構成
スクリーンショット
将来の機能強化
ライセンス
クライアント側のキャッシュ ベースの検索エンジンは、従来のデータベース駆動型システム、特に小規模アプリケーションにおける取得時間が遅いという問題を解決することを目的としています。このプロジェクトでは、クライアント側のキャッシュ技術を活用することで、繰り返しのサーバー クエリや複雑なデータベース セットアップを必要とせずに、静的コンテンツやユーザー作成のメモに迅速にアクセスできるようになります。また、オフライン検索機能も備えており、ユーザーはネットワークに接続していなくても、頻繁に使用するファイルやメモにアクセスできます。
高速検索: ローカルの静的ファイル (HTML、TXT、MD) およびユーザー作成のメモからコンテンツを迅速にインデックス付けして取得します。
クライアント側キャッシュ: 頻繁にアクセスされるファイルはローカルにキャッシュされるため、ロード時間が短縮され、サーバー リクエストが最小限に抑えられます。
オフライン アクセス: 統合された Service Worker を使用すると、ユーザーはオフライン時にファイルやメモを検索してアクセスできます。
メモ管理: シンプルなメモ作成アプリケーションが含まれており、ユーザーはメモを作成、編集、保存できます。また、メモは高速に取得できるようにキャッシュされます。
ファイルのインデックス作成: 指定されたディレクトリ内のファイルは、最初の検索時にインデックス付けされ、キャッシュされるため、より高速なアクセスが可能になります。
クライアント側キャッシュ: インデックス付きコンテンツはキャッシュに保存されるため、検索エンジンは頻繁にアクセスされるファイルの読み取りをスキップできます。
Service Worker : Service Worker は重要なファイルをキャッシュし、オフライン サポートを提供し、インターネット接続がなくてもメモや静的コンテンツを利用できるようにします。
リアルタイム取得: 動的メモは作成直後にキャッシュされるため、オンラインとオフラインの両方で即時にアクセスできます。
このシステムはクライアント側のキャッシュとサービス ワーカー モデルを中心に設計されているため、データベースは不要です。簡略化したアーキテクチャを次に示します。
グラフTD
UI[ユーザーインターフェース] -->|検索リクエスト|検索エンジン
検索エンジン -->|キャッシュ ヒット?|キャッシュ
キャッシュ -->|はい| RetrieveFromCache[キャッシュから取得]
キャッシュから取得 --> 結果の表示
検索エンジン -->|いいえ| ReadFile[ディレクトリからファイルを読み取る]
ReadFile --> IndexContent[インデックスとキャッシュのコンテンツ]
IndexContent --> キャッシュ
IndexContent --> DisplayResults[結果の表示]
ServiceWorker[サービスワーカー] --> オフラインサポート
メモ[メモストレージ] --> キャッシュ
メモ --> ServiceWorker
読み込み中プロジェクトをローカルでセットアップするには、次の手順に従います。
リポジトリのクローンを作成する
git clone https://github.com/vansh-codes/Client-Side-Cache-Based-Search-Engine.git
ディレクトリに移動します
cd クライアント側キャッシュベースの検索エンジン
XAMPP またはローカル PHP サーバーのセットアップ
プロジェクトを適切な XAMPP ディレクトリ (例: C:/xampp/htdocs/
) に配置します。
Apacheサーバーを起動します。
プロジェクトにアクセスするブラウザを開いてhttp://localhost/Client-Side-Cache-Based-Search-Engine
に移動します。
コンテンツの検索: 検索バーを使用して、インデックス付きファイルやメモ内のキーワードを検索します。
メモの作成: メモを作成して保存します。メモはキャッシュされ、すぐにアクセスでき、オフラインでも利用できるようになります。
オフライン アクセス: 最初のアクセスの後、Service Worker を使用してファイルとメモにオフラインでアクセスできます。
構成ファイルでコンテンツとメモのストレージのディレクトリ パスを設定します。
CACHE_DIR
: キャッシュされたファイルを保存するパス。
コンテンツ フォルダー: content/
ディレクトリの下にある静的ファイルのパスを変更します。
Notes フォルダー: notes/
ディレクトリの下にある動的ノートのパスを変更します。
キャッシュの有効期限設定を調整して、古いファイルを消去し、必要に応じてコンテンツを更新します。
高度な検索機能: より直感的な検索のために、あいまい検索とキーワードの強調表示を実装します。
強化されたキャッシュ管理: ストレージ管理を改善するためにキャッシュ有効期限ポリシーを導入します。
マルチフォーマットのメモ作成: 追加のメモ形式 (TXT、MD、HTML) をサポートし、それらを自動的にキャッシュして高速に取得できます。
このプロジェクトは MIT ライセンスに基づいてライセンスされています。詳細については、LICENSE ファイルを参照してください。
高速、効率的な、オフライン対応の検索をお楽しみください。