1place
KalóriaBázis fejlesztés ötletek All the ideas and discussions
263 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, 15:46
Response from the site administrator
kaloriabazis, 03.10.2018
Egyrészről sajnos ehhez egy intelligens tanuló algoritmus kellene, ami az amúgy is komplex keresőt lassítaná.

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.

Egy olyan megoldás elképzelhető, hogy a kereséskor az összes eddigi "megettem-listában" keres először és ha itt talál egyezést, azt dobja fel legfelül. De vajon nem lenne zavaró, hogy az egyszer (akár) véletlenül megevett ritka ételeket is utána az adott keresőszóra feldobja elsőként? Tehát egyszer ittál kókusztejet és utána a tej-re mindig elsőként a kókusztej jön fel. (azt ne javasoljátok, hogy lehessen szerkeszteni mit dob fel meg mit nem, mert az már megint közelebb van a kedvencekhez). Azt viszont lehet még csinálni, hogy első helyen a legutóbbit dobja fel, tehát ha kókusztej után ittál tehéntejet, akkor legközelebbi keresésnél az lesz elöl.
Idea status: under consideration

Comments

kaloriabazis, 18.09.2018, 18: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, 18:11
másrészt egy ilyen dolog a keresőt kompletten lassítaná, amit nem szívesen tennék
András, 19.09.2018, 02: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, 09: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, 20: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, 20:23
igen, ezért sem látom nagyon sok értelmét
András, 19.09.2018, 02: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, 06: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, 06:52
Szerintem sokan vannak úgy mint én, hogy erről a funkcióról nem tudnak/tudtak.
Torgyan, 07.01.2019, 17: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.

Leave a comment