DanmarksAdresser / dawa-autocomplete2

https://dawadocs.dataforsyningen.dk
MIT License
17 stars 7 forks source link

Debounce option #18

Open negoziator opened 4 years ago

negoziator commented 4 years ago

Det kunne være rigtig fedt, hvis der var en mulighed for at sætte en "debounce" option. Så man ikke sender så mange requests, hver gang man skriver i input-feltet.

andershessellund commented 4 years ago

Det er rigtigt, at der ikke er nogen debounce option. Vi har dog lavet det sådan, at klienten altid venter på svar før den næste request sendes afsted, hvilket forhindrer, at et overdrevent stort antal requests sendes afsted.

Vi synes egentlig også det er fint, at der vises nogle forslag mens brugeren taster, og requests er også relativt små (ca. 1 kb), så de ikke kræver særligt meget båndbredde.

Alt i alt kan vi ikke se det store behov for en debounce option, men vi er lydhøre for argumenter.

negoziator commented 4 years ago

Jeg syntes det er nogen rigtig fine betagtninger i har lavet :) Jeg har dog et eksempel hvor jeg syntes at sætte en debounce giver rigtig god mening.

I øjeblikket, sidder jeg og laver en implementering til et kundeservice system. Jeg har lavet det sådan at jeg bruger jeres service som en proxy. Dvs. jeg har lavet en lambda i AWS, som kalder jeres service.

Tanken er at vi på sigt vi bruge jeres docker service og have en version liggende.

Problemet er at når man invoker en lambda betaler man pr invokering ( i det her tilfælde, hver gang der bliver tastet ét tryk :smile: )

I det tilfælde kunne det være ret fedt at manuelt kunne sætte en debounce, for at minimere antallet af api kald.

andershessellund commented 4 years ago

Vi tilbyder p.t. ikke et færdigt docker image som kan bruges til at hoste en lokal version af DAWA. Vi leverer replikerings-klienten som et docker image, men server delen er desværre ikke baseret på replikerings-API'et men på en række datakilder, som der ikke er offentlig adgang til. Det vil således være en omfattende og krævende opgave at sætte sin egen DAWA autocomplete server op.

Mht. til prisen for at proxy'e DAWA kald via AWS lambda, så tænker jeg ikke umiddelbart, at omkostningerne udgør noget problem? Et autocomplete kald er vel omkring 100ms, så man kan lave noget i retning af en million autocomplete-kald for én dollar?

Hvad er begrundelsen for, at i benytter en proxy? Er det privacy-issues?

negoziator commented 4 years ago

Jeg er faktisk enig med dig i at det ikke er særligt dyrt. Ja 100ms kan sagtens gøre det med 128mb. Så ja, det er ikke et stort problem - måske er det også bare mig der "overdriver", men vi sidder måske 300 medarbejdere der laver 100 opslag om dagen - det bliver aldrig rigtig dyrt.

Alligevel syntes jeg det er værd at overveje. Det burde være ret nemt at lave med lodash :smile:

Det er det nemlig. Grunden er at vi har lavet en addresse microservice, som håndtere alle vores addresser inkl yderligere information om addressen og evt kunden.

Vi valgte alligevel at bruge jeres service fordi den vildt god til at lave fuzzy-search. Ud over det får man DAR referencen foræret af jer, som er et kæmpe plus, når man håndtere adresser i 3 forskellige markeder :+1: