DOCS/journey/research/rag/260320_FrontMatter_메타데이터_설계_리서치.md

4.0 KiB

tags, type, status, research_target
tags type status research_target
research
rag
robeing
metadata
front-matter
jsonb
research open front matter와 JSONB에 공통 적용할 메타데이터 구조 정리

Front Matter 메타데이터 설계 리서치

상태

  • proposed

작성일: 2026-03-20
목적: Markdown front matter와 PostgreSQL JSONB에 공통 반영 가능한 메타데이터 구조를 정리한다.


1. 설계 목표

  • 검색에 도움이 되는 메타와 운영 동기화에 필요한 메타를 함께 담는다.
  • 사람이 읽는 front matter와 DB의 JSONB가 서로 크게 어긋나지 않도록 한다.
  • OCR, 임베딩, 그래프 연결 같은 후속 처리를 메타만 보고 판단할 수 있게 한다.

2. 메타 항목 분류

2.1 기본 식별

  • title
  • source_path
  • md_path
  • file_type
  • file_ext
  • folder_path
  • source_hash

2.2 시간/작성자

  • created_at
  • modified_at
  • indexed_at
  • author
  • owner

2.3 내용 통계

  • text_length
  • image_count
  • table_count
  • graph_count
  • page_count
  • sheet_count
  • slide_count
  • duration_seconds

2.4 검색/추론 보조

  • tags
  • keywords
  • summary
  • language
  • entities
  • related
  • priority

2.5 처리 상태

  • status
  • ocr_status
  • embedding_status
  • sync_status
  • deleted_at
  • last_error

3. 최소 필수 메타

  • title
  • source_path
  • file_type
  • modified_at
  • status
  • text_length
  • tags
  • summary

4. 추천 front matter 예시

---
title: 오늘전통 사업계획서
source_path: /mnt/nas/workspace/6.Company X/.../사업계획서_컴퍼니엑스.pdf
md_path: /mnt/nas/indexed_md/.../사업계획서_컴퍼니엑스_pdf.md
file_type: pdf
file_ext: .pdf
folder_path: /mnt/nas/workspace/6.Company X/...
created_at: 2025-01-23T10:21:00+09:00
modified_at: 2026-03-20T11:15:00+09:00
indexed_at: 2026-03-20T13:40:00+09:00
author: Company X
text_length: 12450
image_count: 7
table_count: 4
graph_count: 2
page_count: 28
tags: [companyx, rag, accelerator, yellowpunch]
keywords: [오늘전통, 옐로펀치, 공동 컨소시엄, 액셀러레이터]
summary: 오늘전통 사업계획서 내 협력기관 및 공동 지원 구조를 설명하는 PDF.
related:
  - /mnt/nas/indexed_md/.../TalkFile_MOU_옐로펀치X컴퍼니엑스_pdf.md
status: active
ocr_status: pending
embedding_status: indexed
sync_status: synced
---

5. 내가 추천하는 메타 활용 방식

  • text_length, image_count, table_count는 OCR 대상을 고르는 기준으로 쓴다.
  • status, sync_status는 생성/수정/삭제 동기화 판단에 쓴다.
  • tags, keywords, summary는 검색 랭킹과 후속 LLM 컨텍스트에 직접 쓴다.
  • related는 PostgreSQL 그래프 확장의 직접 입력으로 쓴다.

6. front matter와 JSONB의 관계

  • front matter는 사람이 읽고 수정하기 쉬운 레이어다.
  • JSONB는 SQL 필터, 운영 상태 업데이트, 검색 최적화를 위한 레이어다.
  • 둘을 완전 동일하게 유지할 필요는 없지만, 핵심 키는 동일하게 가져가는 편이 낫다.

7. 주의점

  • 메타 항목이 너무 많아도 초기 구축이 느려진다.
  • 작성자, 생성 시간 같은 항목은 원본 포맷별 추출 정확도가 다르므로 nullable로 두는 편이 맞다.
  • graph_count처럼 완전 정확한 추출이 어려운 항목은 "추정치"가 아니라 "현재 파이프라인 기준 값"으로 다뤄야 한다.

8. 이번 단계 추천

  • 최소 필수 메타로 먼저 시작한다.
  • OCR/요약/그래프 연결이 붙을 때 메타를 확장한다.
  • 메타 확장의 기준은 "검색 품질이나 운영 자동화에 실제 도움이 되는가"로 잡는다.

9. 관련 문서