İçeriğe Geç

Anahtar Kelime Araması

POST /api/v1/search/keyword

Anahtar Kelime Araması

Belge başlığı ve çıkarılmış metin üzerinde SQL tabanlı serbest metin araması yapar. Sunucu LIKE '%query%' benzeri bir filtre uygular — Türkçe kök eki farkındalığı yoktur. Bu yüzden "bankacılık" aramak "banka" kelimesini içeren belgeleri döndürmez.

İstek gövdesi

  • queryzorunlu, 1-500 karakter. Boş değer 400 VALIDATION_ERROR döner.
  • maxResults — 1-100 arası; varsayılan 10. Sayfalama yoktur; daha fazla istiyorsanız filtreleri daraltın.
  • sourceId — opsiyonel kaynak filtresi.
  • startDate / endDate — opsiyonel yayım tarihi penceresi.

Yanıt alanları

  • matchedSnippetanahtar kelime aramasında her zaman boş string döner; snippet yalnızca semantik aramada anlamlıdır.
  • score — anahtar kelime aramasında her zaman 1.0 döner (sıralama skorlaması yoktur).

Ne zaman semantiğe geçmeli

Eş anlamlı kelimeler veya kavram bazlı arama gerekiyorsa /search/semantic kullanın. Anahtar kelime araması yalnızca kesin eşleşmeler (exact substring) için uygundur ve semantikten ~10× daha ucuzdur.

Önbellek

Aynı (query, maxResults, sourceId, startDate, endDate) beşlisi 5 dakika boyunca önbelleklenir — tekrar sorgu atarsanız anında yanıt alırsınız.

Parametreler

İsimKonumTipZorunluAçıklama
query Body string Evet 1-500 karakter serbest metin.
maxResults Body integer Hayır 1-100 arası; varsayılan 10.
sourceId Body uuid? Hayır Kaynakla sınırlandırma.
startDate Body date-time? Hayır Yayım alt sınırı.
endDate Body date-time? Hayır Yayım üst sınırı.

Yanıtlar

200 — Eşleşen belgeler.

{
  "success": true,
  "data": [
    {
      "documentId": "...",
      "title": "...",
      "sourceName": "Resmi Gazete",
      "publishedDate": "2026-03-28T00:00:00Z",
      "score": 1.0,
      "matchedSnippet": "",
      "summary": "..."
    }
  ]
}

400 — Query alanı boş.