Anahtar Kelime Araması
/api/v1/search/keyword
Anahtar Kelime Araması
Belge başlığı ve AI özeti üzerinde SQL tabanlı serbest metin araması yapar. Sunucu LIKE '%query%' benzeri bir alt-dize filtresi uygular: büyük/küçük harfe duyarlıdır ve Türkçe kök eki farkındalığı yoktur. Bu yüzden "bankacılık" aramak "banka" kelimesini içeren belgeleri döndürmez, "Kripto" ile "kripto" da aynı sonucu vermez.
Belgenin çıkarılmış tam metni bu aramaya dâhil değildir — yalnızca gövdede geçen bir terim bu uçtan asla bulunamaz. Gövde metninde arama için /library/semantic (anlamlı arama) kullanın.
İstek gövdesi
query— zorunlu, 1-500 karakter. Boş değer400 VALIDATION_ERRORdö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.
Yürürlük süzgeci
Bu uç nokta yalnızca yürürlükteki mevzuatı arar; mülga belgeler sonuçlara hiçbir koşulda girmez ve bunu kapatan bir parametre yoktur ("Değişmiş", yani değiştirilmiş ama hâlâ yürürlükteki belgeler dâhildir). Aradığınız belge mülga ise sonuç boş döner — bu bir hata değildir. Mülga mevzuatta arama yapmanız gerekiyorsa GET /library?search=...&legalStatus=all (veya legalStatus=mulga) ya da GET /documents?filter=...&legalStatus=all kullanın.
Yanıt alanları
matchedSnippet— anahtar kelime aramasında her zaman boş string döner; snippet yalnızca semantik aramada anlamlıdır.score— anahtar kelime aramasında her zaman1.0döner (sıralama skorlaması yoktur).
Ne zaman semantiğe geçmeli
Eş anlamlı kelimeler veya kavram bazlı arama gerekiyorsa /library/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.
Aynı mevzuatın ikinci resmî nüshası (ikiz) listelerde ve sayımlarda yer almaz; GET /library/{id} detay ucu canonicalDocumentId ile sahibine işaret eder.
Parametreler
| İsim | Konum | Tip | Zorunlu | Açıklama |
|---|---|---|---|---|
query |
Body | string |
Evet | 1-500 karakter serbest metin. Belge başlığı ve AI özetinde alt-dize olarak aranır (büyük/küçük harfe duyarlı); çıkarılmış tam metin bu aramaya dâhil değildir. |
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. Yalnızca yürürlükteki mevzuat döner — mülga belgeler hiçbir koşulda sonuçlara girmez ve bunu kapatan bir parametre yoktur.
{
"success": true,
"data": [
{
"documentId": "...",
"title": "...",
"sourceName": "Resmi Gazete",
"publishedDate": "2026-03-28T00:00:00Z",
"score": 1.0,
"matchedSnippet": "",
"summary": "..."
}
]
}