1place
KalóriaBázis fejlesztés ötletek All the ideas and discussions
383 votes Vote

Korábban már fogyasztott ételek előrébb sorolása

A már korábban, esetleg gyakran fogyasztott ételeket előrébb lehetne sorolni a találatok közt.

cs , 18.09.2018, 14:46
Response from the site administrator
kaloriabazis, 05.11.2019
Ezt a funkciót már 2019 elején lefejlesztettük és ki is tettük, de használhatatlan szintre lassította az oldalt, így pár óra után ki kellett szedni, lásd:
https://kaloriabazis.hu/blog/uj_fejlesztesek_1.4_verzio/148
Nem mennék a technikai részletekbe, biztosan lenne olyan ember aki képes megoldani, de jelenleg a mi megoldásunkban ez zátonyra futott, pedig nagyon ügyes a programozó adatbázis gyorsítás területen.

Másrészt erre van megoldás, ahogy a kommentek közt Barbara javasolta:
"Én úgy szoktam, ha több adattal van esetleg, vagy azonos névvel megadva egy étel, akkor egyszer rászánom az időt,, ha kikerestem (mondjuk ellapoztam x oldalt, és összehasonlítottam az aktuális csomagoláson lévő adatokat, akkor az beteszem kedvencnek, és akkor azt dobja fel elsők közt, nem a többi Délhús terméket, v teletál ételt, v ilyesmi, érted. Nekem ez feleslegesnek tűnik, meglepve látom, hogy a 2. legtöbb szavazatot kapó javaslat."

Mindettől függetlenül még gondolkodunk olyan megoldáson ami nem lassítja a programot, mégis segít ezen a dolgon.
Idea status: under consideration

Comments

kaloriabazis, 18.09.2018, 17:09
első dolog ami eszembe jutott, hogy vajon nem lenne zavaró, ha így egy ritkán, vagy véletlenül kiválasztott ételt is ezután mindig feldobna elsők közt?
kaloriabazis, 18.09.2018, 17:11
másrészt egy ilyen dolog a keresőt kompletten lassítaná, amit nem szívesen tennék
András, 19.09.2018, 01:11
Úgy lenne értelme, ha a fogyasztás gyakoriságától függő intelligens tanuló algoritmus határozná meg a sorrendet.
Nagy lassulást nem érne meg a dolog, csak ha valami offline
előfeldolgozással ez megúszható.
Másik hátránya lehet, hogy így a különböző, de sokszor együttműködő felhasználóknál (pl. egy háztartás) más lenne a sorrend, és nehezebb lenne beazonosítani egyes ételeket (pl. "A harmadik Fitt Pöttyös Túró Rudi").
cs, 19.09.2018, 08:10
Lehetséges, hogy amit írtam az nem a legjobb megfogalmazás, ezért inkább megpróbálom leírni a problémát: Sokszor előfordul, hogy az étel amire keresek sokszor előfordul a listában, mert pl.: különböző étel házhoz szállító éttermek nevével vannak rögzítve. De az amit én akarok megadni az csak második vagy harmadik oldalon található. Ilyenkor a fő probléma, hogy az ételek nevei tökéletesen egyeznek és csak leírásban térnek el, vagy a nevükben van valami plusz. De ettől függően magát az ételt nem tudom máshogy beírni. Egyszerűbb ételeknél is ugyanúgy előfordul. Ilyenkor jó lenne ha ezeket könnyebben találnám meg. De lehet hogy van rá megoldás, csak nem ismerem annyira a rendszert, vagy a felület nem egyértelmű. Ez utóbbi viszont már egy másik "ötlethez" tartozik (:
Andi93, 18.09.2018, 19:01
A gyakran fogyasztott ételeket meg lehet jelölni kedvencnek (felvitel után a jobb oldalon "..." alatt van a csillag, amivel ez megtehető), így ezek a kereséseknél előre vannak sorolva.
kaloriabazis, 18.09.2018, 19:23
igen, ezért sem látom nagyon sok értelmét
András, 19.09.2018, 01:14
Valóban, a Kedvenc, az utolsó 10, és valamelyest a saját étel funkciókkal megvalósítható valami hasonlót. Persze lehetne egy automatikus, fokozatos, öntanuló megoldás is, esetleg a Beállításokban ki-bekapcsolhatóan.
Az utolsó 10-et én mindenesetre 20-25-re növelném, vagy beállítható darabra. A 10-ből pont napon belül is kilép egy ismétlődő étel.
Barbara, 22.09.2018, 05:59
Én úgy szoktam, ha több adattal van esetleg, vagy azonos névvel megadva egy étel, akkor egyszer rászánom az időt,, ha kikerestem (mondjuk ellapoztam x oldalt, és összehasoibnlítottam az aktuális csomagoláson lévő adatokat, akkor az beteszem kedvencnek, és akkor azt dobja fel elsők közt, nem a többi Délhús terméket, v teletál ételt, v ilyesmi, érted. Nekem ez feleslegesnek tűnik, meglepve látom, hogy a 2. legtöbb szavazatot kapó javaslat.
cs, 24.09.2018, 05:52
Szerintem sokan vannak úgy mint én, hogy erről a funkcióról nem tudnak/tudtak.
Torgyan, 07.01.2019, 16:35
Nem feltétlenül kell ide nagyon durva intelligens tanuló algoritmus, feltételezve, hogy nem NoSQL adatbázist használtok.

Elég egy extra tábla a következő oszlopokkal:
KAJA_ID - USER_ID - EVÉSEK_SZÁMA

Ha a user valami kaját hozzáad, akkor a program beszúr egy új sort ebbe a táblába, vagy ha már van a (KAJA_ID - USER_ID) kombó (Ezek együtt lehetnek unique key-k), akkor eggyel növeli a számlálót. (Ha mégis törli valaki a beszúrt ételt, akkor lehet eggyel csökkenteni a számlálót, ami maradhat akár nullán is, a sort nem feltétlenül szükséges törölni).

Ezek után a keresésnél az eddigi query-be elég beszúrni egy LEFT JOIN-t az extra táblára (meg persze egy filtert az aktuális USER_ID-ra), majd pedig egy ORDER BY EVÉSEK_SZÁMA DESC-t.

Ez szinte csak elhanyagolható idővel lassítaná a keresést, másrészt ha valaki tejet gyakran ad hozzá, kókusztejet ritkán, akkor a tej még mindig előbbre lesz a listában. Viszont a kókusztej is előbbre lesz, mint pl a mandulatej.


További haszna ennek a megoldásnak, hogy nagyon egyszerűen lehet ezek után különböző statisztikákat generálni a felhasználóknak:
Milyen ételeket esznek a leggyakrabban, mely ételekből vitték be a legtöbb kalóriát, stb-stb, de ezek már mind csak huszadlagos dolgok.
Répás Zoltán, 10.01.2020, 07:48
Táblák helyett egy ötlet.

Úgy oldanám meg mint a kedvenceket, csak automatikus lenne. Ebben az esetben nem kellenek extra táblák, stb. Ha kiválasztottad a cuccot, akkor megjegyzi, mint a favoritokat. Visszamenőleg nem keres, nem foglalkozik a múlttal, tehát a bevezetés dátumától működne. Nem kell súlyozni sem, mert ki a franc eszik mondjuk 12 féle olyan dolgot, amiben 3 betű egyezik, amúgy sem reális szerintem a fogyasztott étel gyakorisága szerint súlyozni. Főleg egy akkora rendszerben amit ennyien használnak.

Nem szép, de egyszerű és gyors megoldás lehet.

Leave a comment