old_blog テーブル
概要
| 項目 | 内容 |
|---|---|
| テーブル名 | old_blog |
| 説明 | 移行対象の過去ブログ記事を保持するテーブル。blog.old_blog_id から参照され、AI によるリライト(blog_rewriter)の入力となる |
| 主な用途 | 過去ブログ記事の保持・リライト時の参照・関連ブログ検索用ベクトルの保管 |
カラム定義
| カラム名 | データ型 | PK | FK | Unique | Nullable | デフォルト | 備考 |
|---|---|---|---|---|---|---|---|
| _id | ObjectId | ◯ | ◯ | DocumentDB自動採番 | |||
| name | string | ブログのタイトル | |||||
| race_id | string | auto_racing:_id / bicycle_racing:_id / horse_racing:_id | ◯ | 紐づくレース。必ずしもレースに紐づくとは限らない。インデックスあり | |||
| race_type | enum | ◯ | auto_racing / bicycle_racing / horse_racing。race_id がある場合のみ設定 |
||||
| blog_type | string | ◯ | ブログのシリーズ種別(例: ジョッキーインタビュー、斎藤コラム) | ||||
| category | string | ◯ | ブログの大分類(例: インタビュー、レース回顧、予想)。blog_builder の記事テンプレート選択に使われる | ||||
| source_url | string | ◯ | 移行元ブログ記事の URL。本文内の相対画像 src を絶対化する基準にも使う | ||||
| published_at | number | ◯ | 移行元ブログ記事の公開日時(UNIXタイムスタンプ・ミリ秒) | ||||
| body_html | string | HTML形式。移行元の本文をそのまま保持する | |||||
| embedding | number[] | ◯ | カテゴリ・タイトル・本文の埋め込みベクトル。登録時に付与し、リライト時に blog へ引き継ぐ |
||||
| created_at | number | ||||||
| updated_at | number | 一覧取得のデフォルトは更新日時順にする | |||||
| deleted_at | number | ◯ |
category は文字列
old_blog は category を文字列で持つ(category_id ではない)。
リライト時に同名の category レコードを検索して blog.category_id に紐づける。
埋め込みベクトル
登録時(POST /v1/old_blogs)に「カテゴリ + タイトル + 本文(タグ除去)」をテキスト化し、
Amazon Bedrock の Titan Text Embeddings v2 でベクトル化して保存する。
カテゴリを更新(PUT /v1/old_blogs/{id})するとベクトルも作り直す。
ベクトル化は付加要素のため、失敗しても登録・更新自体は成功する(embedding が null のまま残る)。