アメブロ検索

仕組み

このサイトについて | 検索に戻る

ハロー!プロジェクトのメンバーのアメブロを、本文から横断検索できるようにした個人サイトです。 どうやって記事を集め、何を保存し、何をしないと決めているかを説明します。 ソースコードは公開していません。同じ作りの巡回プログラムが増えると、アメブロ側の負担になるためです。

1. 全体の作り

Cloudflare Workers と D1(SQLite)で動いています。サーバーやコンテナはありません。 巡回プログラムが定期的にアメブロの記事を読み、本文を検索用の索引に入れます。 検索のたびにアメブロへ問い合わせることはありません。

どのブログ・どのテーマが誰の記事かは、手で管理している対応表で決めています。 対応表を直すと、次の巡回で取り込み済みの記事の書き手も直ります。

2. 検索のしかた

形態素解析(単語への分割)は使わず、本文を2文字ずつ区切った索引で引いています。 辞書に載らない固有名詞・当て字・口語にも強く、入力した文字列がそのまま並んでいる記事を探す「部分一致」に近い動きになります。

結果は新しい記事から順に並びます。総ヒット件数は表示しません。 数えるだけで検索そのものより重くなるためです。 長すぎる検索語や記号だけの検索語は、黙って切ったり無視したりせず、理由を画面に出します。

3. 表示するもの

検索結果には、一致した箇所の前後40字ほどだけを出します(1記事につき最大2か所)。 絵文字や記号は元の本文のまま表示します。 記事を読むときは ameblo.jp の元記事へ移動します。このサイトの役目は、元記事を見つけて送り届けることです。

4. アメブロへの配慮

5. 編集・削除への追従

取り込み済みの記事も定期的に見直しています。 編集された記事は本文を取り直し、索引も入れ替えます。

削除・非公開になった記事は、このサイトからも消します。 ただし「本当に無くなった」と確かめてからです。 通信の失敗やアメブロ側の一時的な不調を削除と取り違えないよう、確かめられなかったものは消さずに次の見直しに回します。

6. わかっている制約

7. 取らない・やらないと決めたこと

消してほしい・載せないでほしいという連絡があれば、そのとおりに対応します。 ご連絡は、karin-archive(同じ作者のサイト)のページ下にある「誤りの報告・追加のご要望」から送ってください。