OpenJDKメーリングリストを検索します
このプロジェクトを使用すると、いくつかのOpenJDKメーリングリストで検索できます。
このプロジェクトのユニークな点は、ローカル検索です。検索ページを開くと、 js-scriptインデックス付きメーリングリストを備えたSQLite databaseをダウンロードします。
悪いことは、検索インデックス全体をダウンロードする必要があることです。良いことは、このDBの上に任意のSQLクエリを実行できることです。
現在、インデックス付きメーリングリスト:
- https://mail.openjdk.org/pipermail/valhalla-dev/
- https://mail.openjdk.org/pipermail/amber-dev
- https://mail.openjdk.org/pipermail/panama-dev
- https://mail.openjdk.org/pipermail/loom-dev
- https://mail.openjdk.org/pipermail/lilliput-dev
- https://mail.openjdk.org/pipermail/leyden-dev
- https://mail.openjdk.org/pipermail/jdk-dev
- https://mail.openjdk.org/pipermail/graal-dev
- https://mail.openjdk.org/pipermail/announce
それがどのように機能するか
- 定期的に、GitHubアクションはインデクサーを実行します。インデクサーは、アーカイブ(Amber-Dev Archivesなど)から新しいメールをダウンロードし、DB-Part-0*に挿入します。
- 検索フロントエンドを開くと、sql.js lib libはデータベースパーツ
db-part-0*をダウンロードし、 WebAssemblyを使用してDBを準備します。 - 最後に、サーバーインタラクションなしでSQLクエリをローカルに実行できます。
実装の詳細の監視
- 再インネックス後、新しいデータベースサイズを確認します。古いものとは異なる場合は、新しいデータベースサイズと現在のタイムスタンプをdbsize.txtに書き込みます。アクションステップの1つとして実装されています。
- CloudFlareワーカーがいます。 Cronトリガーがあり、数時間ごとにこのワーカーを実行します。
- ワーカーは、前回データベースが更新されたときにチェックします。 5日以上前に発生した場合、労働者はメールを送信します。
クレジット
- Gunnar Morling-このプロジェクトのアイデアのために、ブログのサーバーレス検索をどのように構築したか。
- https://github.com/sql-js/sql.js/ブラウザからsqliteを使用できる素晴らしいライブラリ用。
- https://github.com/オープンソースプロジェクトの無料アクション。