# ekos-gazete-search

Claude Code skill: İstanbul Üniversitesi EKOS gazete arşivinde (1928-1942, 53 gazete, 581 106 OCR'lı sayfa) konu-bazlı sistematik arama.

## Hızlı başlangıç

```bash
cd ~/.claude/skills/ekos-gazete-search
python3 -m venv .venv && source .venv/bin/activate
pip install -r scripts/requirements.txt

# 1) Manifest oluştur (~1 dk, tek seferlik)
python scripts/01_build_manifest.py

# 2) Kırım taramasını öncelikli pencerelerle başlat
python scripts/02_search_pdfs.py \
  --keywords keywords/kirim.yaml \
  --priority-only \
  --workers 4

# 3) Obsidian raporu oluştur
python scripts/03_render_report.py --topic Kirim
```

## Yapı

```
.
├── SKILL.md                 # Claude'a yönerge
├── README.md                # bu dosya
├── keywords/
│   ├── _template.yaml       # yeni konu için şablon
│   └── kirim.yaml           # Kırım (Hanlık, Tatar, diaspora, Sovyet)
├── scripts/
│   ├── 01_build_manifest.py # 53 gazete sayfasını çek → manifest CSV
│   ├── 02_search_pdfs.py    # PDF indir + pdftotext + fuzzy regex → JSONL
│   ├── 03_render_report.py  # JSONL → Obsidian markdown
│   ├── lib/fuzzy.py         # OCR-toleranslı Türkçe regex motoru
│   └── requirements.txt
├── manifests/               # üretilmiş CSV'ler
└── hits/                    # üretilmiş JSONL hit dosyaları
```

## Yeni konu

```bash
cp keywords/_template.yaml keywords/filistin.yaml
# Düzenle: canonical, aliases, proper_nouns, disambiguators, priority_windows
python scripts/02_search_pdfs.py --keywords keywords/filistin.yaml --out hits/filistin.jsonl
python scripts/03_render_report.py --hits hits/filistin.jsonl --topic Filistin
```

## Sınırlar

- **Bant genişliği:** 581k sayfa × ~14MB PDF ≈ 8+ TB. Skill her PDF'i indirir, text-layer çıkarır, hit yoksa siler. Tam mirror YAPMAZ.
- **Throttle:** varsayılan 0.25 sn/işistek + 4 worker = ~3 sayfa/sn. Kütüphaneye nezaket.
- **OCR:** 2014 vintage, Türkçe diakritikleri çöp. Fuzzy regex bunu telafi eder ama %100 değildir.
- **Kapsam:** 1928–1942. **Kırım sürgünü (1944) bu arşivde YOK.**

Ayrıntı için: `SKILL.md` ve [vault haritalama notu](/home/salva/Obsidian/6-Geopolitics/Russia/03.%20HISTORICAL%20CONTEXT/EKOS-Gazete-Arsivi-Haritalama.md).
