コンテンツにスキップ

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 のまま残る)。