goon/app/api
goon-foss 45ee7a81e1
Some checks are pending
Backend tests / test (push) Waiting to run
fix(api): szybkie szukanie po tytule dla popularnych i krotkich fraz
Planer szacowal kazda fraze na 427 trafien (histogram 100 probek, dolny limit), wiec
zawsze szedl indeksem trigramow i sortowal wszystkie trafienia: "vo" 44 s (dwie
litery nie maja trigramu, indeks oddaje 4,3 mln wierszy), "mis" 6,5 s, "free" 1,9 s
(GOON-73/75).

- 0046: histogram title_normalized 1000 probek, szacunki bliskie prawdy.
- list_scenes: przy q i sorcie po dacie najpierw przejscie po indeksie sortu z
  limitem 300 ms (bez bitmap, w SAVEPOINT wycofywanym zawsze), gdy probka tytulow
  z pg_stats mowi, ze wystarczy przejsc do 30 tys. scen; inaczej zwykly plan.
  Frazy bez trigramu zawsze przejsciem (limit 3 s, potem pusto).

115 prawdziwych wyszukiwan z logow: wyniki identyczne, najgorszy 44 s -> 0,8 s,
srednie frazy dotykaja 3-7x mniej stron ("bad" 122 tys. -> 16 tys.).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-22 12:00:11 +02:00
..
__init__.py Initial commit 2026-05-20 10:10:22 +02:00
admin.py style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00
admin_html.py style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00
blacklist.py style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00
bug_reports.py style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00
clips.py fix(mobile): Edge - serduszko nie rusza dzwieku ani nie przewija klipu, jeden przycisk dzwieku, stroik feedu 2026-09-22 12:00:10 +02:00
device.py style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00
expo_updates.py style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00
favorites.py perf(api): liczniki +N ulubionych z cache i indeksem, podobne sceny z najrzadszych tagow 2026-09-15 15:05:43 +02:00
me.py feat(clips): feed Swipe z afinicznoscia, pamiecia widzianych i telemetria (etap 3) 2026-09-14 20:29:49 +02:00
movies.py perf(api): lista filmow serializowana wsadowo (7 zapytan/film -> 8 na strone), /sources z agregatem w pamieci na 5 min 2026-09-08 10:04:01 +02:00
playback.py fix(movies): rozwiazuj przekierowanie hostera na serwerze, zanim embed trafi do WebView 2026-08-26 14:00:56 +02:00
playback_events.py style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00
saved_searches.py perf(scenes): indeks pod sortowanie serwisu po dacie premiery + fix wyscigu zapisu wyszukiwania 2026-08-20 16:00:58 +02:00
scene_favorites.py perf(api): liczniki +N ulubionych z cache i indeksem, podobne sceny z najrzadszych tagow 2026-09-15 15:05:43 +02:00
scenes.py fix(api): szybkie szukanie po tytule dla popularnych i krotkich fraz 2026-09-22 12:00:11 +02:00
schemas.py feat(ui): badge jakosci i nazwa serwisu na kafelku sceny 2026-08-18 12:41:16 +02:00
seo.py fix(seo): bez prywatnych blacklist i z cache indeksu sitemapy 2026-09-22 12:00:11 +02:00
sources.py perf(api): lista stron odswiezana w tle, nikt nie czeka na przeliczenie 2026-09-22 12:00:10 +02:00
stream_proxy.py feat: automatyczne sprzatanie martwych zrodel sxyprn i eporner 2026-09-22 12:00:11 +02:00
taxonomies.py fix(performers): "Search more scenes" odpowiada od razu, wyszukiwanie mieli w tle 2026-08-26 14:12:25 +02:00
watch.py perf(api): historia ogladania wsadowo, wyszukiwanie w obrebie strony po rownosci originu 2026-09-15 14:06:01 +02:00