- Reaalajas otsing parandab oluliselt kasutajakogemust, tagastades koheseid tulemusi ilma lehte uuesti laadimata.
- Otsingumootorid nagu Algolia ja Elasticsearch koos veebiliideste ja tehisintellektiga võimaldavad teil luua võimsaid ja väga kohandatavaid otsingumootoreid.
- Raamistikud nagu Laravel ja Androidi natiivsed komponendid lihtsustavad otsingumootorite tehnilist rakendamist automaatse täitmise ja soovituste abil.
- Reaalajas analüüs ja hoolikas privaatsuse haldamine on otsingu optimeerimise ja isikupärastamise võtmeks ilma kasutajate usaldust kaotamata.
Reaalajas otsing veebirakendustes on muutunud võtmeelemendiks agiilsete, asjakohaste ja sujuvate kogemuste pakkumisel. Alates e-kaubanduse saidist, mis soovitab tooteid juba tippimise ajal, kuni analüüsi juhtpaneelini, mis värskendatakse koheselt, ei taha kasutajad enam tulemuste nägemiseks uue lehe laadimist oodata.
Samal ajal on selle maagia võimalikuks tegevate tööriistade ja teenuste ökosüsteem tohutu: otsingumootorid nagu Algolia või Elasticsearch , integratsioonid veebiliidestega, Laraveli ja JavaScriptiga loodud kohandatud otsingumootorid, Androidi natiivsed otsinguvidinad, reaalajas analüüsisüsteemid nagu Clicky või Fathom ja privaatsusseaded nagu Google'i veebi- ja rakendustegevuse funktsioon. Õige arhitektuuri valimise ning kulude, jõudluse ja andmete kontrollimise seisukohast on oluline mõista, kuidas kõik need tükid omavahel sobivad.
Mis on reaalajas otsing veebirakendustes ja miks see on oluline?
Reaalajas otsingust rääkides peame silmas liideseid, kus rakendus saadab päringu serverile (või välisele otsingumootorile) kasutaja sisestatud päringu ajal, töötleb teavet ja värskendab tulemusi ilma lehte uuesti laadimata . Kõik see toimub väga madala latentsusega, seega on kogemus kohene.
Digitaalse kogemuse kontekstis pole kiire ja täpse otsingu pakkumine enam "lisa", vaid kriitiline edutegur. Halb sisemine otsing võib kaasa tuua vähem konversioone, kõrgema põrkemäära ja pettunud kasutajaid , samas kui hästi rakendatud otsing suurendab ooteaega, ostutõenäosust ja üldist rahulolu rakendusega.
Reaalajas otsingud ei piirdu enam veebisaidi tüüpilise tekstikastiga. Tänapäeval kombineeritakse neid automaatse täitmise, dünaamiliste filtrite, trükivigade parandamise, ajaloopõhise isikupärastamise ja isegi tehisintellekti mudelite loodud vastustega, mida toetavad veebist lennult saadud andmed.
Otsimootorite ja reaalajas otsinguteenuste ökosüsteem
Praeguses olukorras leiame rikkaliku lahenduste ökosüsteemi reaalajas otsingu rakendamiseks, alates kõrgetasemelistest SaaS-mootoritest kuni täielikult kohandatavate madala taseme API-deni. Igal tööriistal on oma eelised, kulud ja ideaalsed kasutusjuhud.
Algolia on üks tuntumaid nimesid "otsingu teenusena" valdkonnas. See pakub pilvepõhist otsingumootorit, mis annab tulemusi peaaegu koheselt, konfigureeritava asjakohasuse ja hulga veebi- ja mobiilirakenduste jaoks loodud funktsioonidega.
Selle toimimine põhineb teie andmete indekseerimisel serverites. Pärast indekseerimist lahendatakse päringud ülimalt optimeeritud algoritmide abil (kasutades sisemiselt struktuure ja tehnikaid, nagu binaarotsing, inverteeritud indeksid ja muud optimeerimised), mis annavad tulemused millisekundites isegi suurte kirjetemahtudega kogudes.
Algolia paistab silma selliste funktsioonide poolest nagu tahvelotsing, vastete esiletõstmine, trükivigade taluvus, sünonüümid ja atribuutide või reeglite põhjal asjakohasuse kohandamine. See võimaldab arendajatel keskenduda kasutajakogemusele, mitte otsingumootori keerukale inseneritööle.
Näiteks veebipoes saab pakkuda otsingufunktsiooni, kus kasutaja näeb otsingusõna „tossud” sisestades reaalajas asjakohaseid tooteid, mis on filtreeritud brändi, hinna või suuruse järgi. Sisuplatvormidel on lihtne rakendada filtreid kategooria , kuupäeva või siltide järgi , nii et otsingut „tehnoloogia” saab piirata viimase 30 päeva artiklitega. Tööportaalides saavad kohesed otsingud hõlmata ametikohta, asukohta, palgavahemikku ja muid atribuute, pakkudes väga sujuvat kogemust.
Tehniline integratsioon on üsna ligipääsetav tänu hästi dokumenteeritud API-dele ja klientidele mitmes keeles (JavaScript, PHP, Laravel jne). Lihtsalt laadige kirjed vastavasse indeksisse ja kasutage selle SDK-d esiotsas päringute teostamiseks ja tulemuste reaalajas kuvamiseks.
Elasticsearch ja selle integratsioonide ökosüsteem
Elasticsearch on Lucene'il põhinev otsingu- ja analüüsimootor, mis on loodud suurte andmemahtude indekseerimiseks ja otsingutulemuste kiireks kuvamiseks. Üks selle suurimaid tugevusi on ulatuslik integratsioonide ökosüsteem ja võime kohaneda praktiliselt igast allikast pärit andmetega.
Platvorm pakub üle 350 integratsiooni andmepistikute, keeleklientide, andmetöötluskanalite ja visualiseerimistööriistade vahel. See võimaldab teil oma andmetega tihedalt koostööd teha, olenemata sellest, kas need asuvad logides, andmebaasides, sündmuste järjekordades või failides, ning luua otsinguindekseid , mis uuenevad peaaegu reaalajas.
REST API-de ja ametlike klientide kaudu on võimalik saata dokumente, uuendada indekseid ja teha keerukaid päringuid filtrite, agregatsioonide, sortimise ja kohandatud asjakohasuse abil. Elasticsearch on eriti populaarne jälgimis-, jälgitavus-, logimis- ja analüüsirakendustes, kuid seda kasutatakse ka veebirakenduste jaoks, mis vajavad täpsemat otsingut.
Selle arhitektuuri paindlikkus ja koondamisvõimalused võimaldavad näiteks kombineerida täistekstiotsingut mõõdikute, diagrammide ja juhtpaneelidega , mis kõik põhinevad samadel andmetel. See muudab selle atraktiivseks valikuks, kui reaalajas otsing on osa laiemast analüüsiplatvormist.
Kuna tegemist on tehnilisema lahendusega kui „ühenda ja kasuta” SaaS, nõuab see tavaliselt rohkem konfigureerimis-, hooldus- ja kohandamistööd , kuid pakub vastutasuks täpset kontrolli mõõdikute, ressursside ja kulude üle.
Reaalajas veebiotsing ja kulud tehisintellekti ja SERP API-de abil
Lisaks konkreetse rakenduse piires otsimisele on üha tavalisem soov pääseda juurde reaalajas teabele veebis ja kombineerida seda tehisintellekti mudelitega, et genereerida ajakohaseid vastuseid. Laialdaselt kasutatav lähenemisviis on kasutada API-sid, mis juba integreerivad veebiotsingu ja keelemudelid.
Praktiline näide on Perplexity API kasutamine koos SONAR-mudeliga , mis võimaldab teil saata päringuid veebi ja saada saadud tulemuste põhjal genereeritud vastuseid. Selline lahendus pakub ajakohast täpsust ja konteksti, kuid selle hind on viidatud juhtumi kohaselt umbes 5 dollarit 1000 kõne kohta, mis on praktikas veidi kõrgem.
Selle stsenaariumi korral tekivad loogilised küsimused: kas otsingumootori tulemuste lehe (SERP) API-de kombineerimine selliste mudelitega nagu ChatGPT või muud säästlikumad õigusteaduse mudelid (LLM-id) on võimalik kulusid vähendada ?
Teoreetiliselt jah: linkide hankimiseks võiks kasutada odavat SERP API-t ja seejärel teabe töötlemiseks ja kokkuvõtmiseks soodsamat tehisintellekti mudelit.
Praktikas on SERP API kombineerimine teise LLM-iga aga sageli aeglasem ja paljudel juhtudel annab madalama kvaliteediga tulemusi , kuna töövoog hõlmab mitut päringut, HTML-i parsimist või täiendavat teksti ekstraheerimist. Kõik see võib tühistada osa kulude kokkuhoiust ja keerulisemaks muuta arhitektuuri.
Alternatiivide hulgas on spetsiaalsed veebiotsingu API-d, näiteks Cloudsway Web Search API , mis on loodud pakkuma kiirust, täpsust ja skaleeritavust ettevõtte kontekstis. Need API-d keskenduvad tavaliselt tulemuste kvaliteedile ja infrastruktuuri jõudlusele, mistõttu on neid lihtne kasutada reaalajas reageerimissüsteemide alusena.
Rakenda reaalajas otsingumootor Laraveli ja JavaScripti abil
Kui eelistate luua oma lahenduse, on veebirakendustes väga levinud muster rakendada reaalajas otsingumootorit, kasutades Laraveli tagaküljel ja JavaScripti esiküljel . Idee on lihtne: kasutaja trükib tekstiväljale, JavaScript saadab serverile asünkroonsed päringud, Laravel pärib andmebaasi ja tagastab tulemused JSON-vormingus, mis kuvatakse ilma lehte uuesti laadimata.
Põhivoog koosneb Eloquent mudeli defineerimisest, mis esindab tabelit, millelt soovite otsida (näiteks riikide tabeliga seotud riigimudel ), Laravelis HTTP marsruutide loomisest otsingu haldamiseks, AJAX-päringuid töötleva kontrolleri loomisest ning otsingu sisendi ja vajaliku JavaScripti koodiga vaate kujundamisest.
Eloquenti mudelis on tavaline jätta `$guarded` tühjaks massiiviks, et lubada hulgijaotust ja keelata ajatemplid, kui tabel ei kasuta veerge `created_at` ja `updated_at` . See muudab kirjetega suhtlemise otsesemaks, säilitades samal ajal turvalisuse kasutajaandmete vastuvõtmisel.
Marsruutimise puhul on tüüpiline lähenemisviis GET-marsruudi defineerimine vaate kuvamiseks otsinguribaga ja POST-marsruudi (või parameetritega GET-päringu) defineerimine otsingu töötlemiseks. Näiteks ` /search`- marsruut osutab vaatekontrolleri `index`-meetodile ja teine `search`-meetodile, mis loeb esitatud teksti ja esitab andmebaasile päringu.
Otsingukontroller kontrollib, kas päring on AJAX-päring, käivitab mudeli põhjal päringu (näiteks filtreerib nime järgi LIKE abil ja piirab tulemusi 10 elemendini) ning tagastab JSON-struktuuri koos eduindikaatorite, teate ja leitud andmetega. See lihtsustab oluliselt kliendi JavaScripti poolt tarbitavat vastust.
Vaates (näiteks welcome.blade.php ) luuakse vorm otsinguvälja ja tulemuste konteineriga. Laravelis turvaliste POST-päringute lubamiseks ja toomise päringute päiste õigesti konfigureerimiseks on oluline lisada CSRF-tokeniga metamärgend.
JavaScripti skript lisab otsinguväljale sündmusekuulaja, mis käivitub iga klahvivajutuse korral (klahvi vajutamise sündmus). Selle käitleja sees saadetakse otsingumootori teele toomise päring, mis edastab päringu sisus oleva teksti ja määrab päised, näiteks Content-Type, X-Requested-With ja CSRF-tokeni. Kui vastus saabub, teisendatakse see JSON-iks, genereeritakse HTML-kood (näiteks <ul>-loend <li>-siltidega iga tulemuse jaoks) ja sisestatakse tulemuste konteinerisse.
See muster annab tulemuseks kerge otsingumootori ilma täiendavate teekideta nagu jQuery, Axios või Vue , mis aitab säilitada head laadimiskiirust, eriti kui kasutate juba rasket stiiliraamistikku nagu Bootstrap. Väikeste ja keskmise suurusega projektide jaoks on see lahendus enam kui piisav ja hõlpsasti hooldatav.
Abistatav otsing Androidis: SearchView, kavatsused ja soovitused
Mobiilikeskkonnas pakub Android reaalajas abistatava otsingu rakendamiseks natiivseid mehhanisme nii ujuva otsingudialoogi kui ka liidesesse (näiteks rakenduse ribale või paigutuse sisse) paigutatava SearchView vidina kaudu.
Otsingudialoog on süsteemi hallatav komponent, mis kuvatakse ekraani ülaosas, kui kasutaja selle aktiveerib. Android haldab kõiki selle dialoogi sündmusi : see jäädvustab päringu, saadab soovitusi, kui need on konfigureeritud, ja otsingu käivitamisel genereerib kavatsuse ACTION_SEARCH toiminguga, mis on suunatud konkreetsele otsingutegevusele.
Vidin SearchView on vaade, mille saab paigutada oma paigutusse ja mis vaikimisi toimib tavalise tekstiväljana. Kui see on aga konfigureeritud Androidi otsingusüsteemiga töötama, saab see delegeerida päringuid otsingutegevusele, kuvada soovitusi ja hallata häälotsinguid täpselt nagu tavaline dialoogiboks.
Selle funktsiooni lubamiseks peate looma XML-vormingus otsingu konfiguratsioonifaili (tavaliselt searchable.xml failis res/xml), kus määrate otsingukasti käitumise: sildid, abitekst (vihje), häälvalikud, soovituste funktsioonid jne. Juurelement on <searchable> ja peate lisama vähemalt ühe atribuudi android:label ja ideaalis android:hint.
Järgmisena deklareeritakse AndroidManifestis otsingutegevus , mis võtab vastu ACTION_SEARCH toimingu ja seostatakse selle konfiguratsiooniga elemendi <meta-data> kaudu, millel on android:name="android.app.searchable" ja vastav XML-ressurss. See tegevus vastutab otsingukavatsuste vastuvõtmise, päringu ekstraheerimise ja tulemuste kuvamise eest.
Kui kasutaja otsingu teeb, saab otsingutegevus kavatsuse koos ACTION_SEARCH toiminguga ja täiendava päringuga (QUERY), mis sisaldab sisestatud teksti. Sealt edasi saab arendaja päringu teha kohalikust andmebaasist, kaugandmetest või mis tahes muust teabeallikast ning kuvada tulemused RecyclerView's adapteri abil, näiteks CursorAdapteri abil, kui töötatakse SQLite'iga.
Otsing töötab SQLite'i andmebaasides täistekstiotsingu (FTS3) abil , et parandada jõudlust ja asjakohasust pikkade tekstide või veebiandmete puhul, sellisel juhul on soovitatav võrgust tulemuste ootamise ajal kuvada edenemisindikaatorit.
Otsingudialoogi saab rakenduse kogemusesse sügavamalt integreerida: otsingutegevuse saab seadistada singleTop käivitusrežiimile , et vältida mitme eksemplari loomist, kui kasutaja teeb mitu järjestikust otsingut, ning APP_DATA paketi kaudu saab edastada täiendavaid kontekstiandmeid, et otsingut täpsustada vastavalt ekraanile, kust see käivitati.
SearchView vidin võimaldab teil ka paljusid aspekte kohandada: lisada selgesõnalise saatmisnupu (selle asemel, et loota ainult sisestusklahvile), lubada soovituspäringu täiustamist (nii et soovitust saab sisestada ja muuta) ning vahetada ikoonilise oleku (ainult ikoon) ja täielikult nähtava otsinguvälja vahel.
Juhtudel, kus vidin paigutatakse rakenduse ribale toiminguvaatena , on oluline arvestada, et väikestel ekraanidel ei pruugi olla piisavalt ruumi ja menüü-üksus võib ilmuda laiendatud menüüsse. Sellisel juhul on soovitatav vidina puudutamisel otsingudialoog aktiveerida funktsiooniga `onSearchRequested()`, kombineerides seeläbi vidina ja dialoogi vastavalt kontekstile.
Lõpuks võimaldab Android lisada häälotsingu, integreerides dialoogi või vidinasse mikrofoninupu, kasutades otsinguseadetes atribuuti `android:voiceSearchMode`. Sel viisil saadetakse transkribeeritud päring otse otsingutegevusse. Siiski tasub hinnata, kas rakenduse kasutusmuster sellest voost kasu saab, kuna kasutajal pole enne otsingu käivitamist võimalust tuvastatud teksti üle vaadata.
Reaalajas analüütika otsingukasutuse mõõtmiseks
Reaalajas otsingu rakendamine on vaid pool loost; teine pool on kasutajate kasutusviiside analüüsimine . Mitmed analüüsitööriistad pakuvad reaalajas või väga väikese latentsusega mõõdikuid, mis aitavad teil mõista, mida teie kasutajad otsivad, millistest seadmetest ja kuidas nad tulemustega suhtlevad.
Adobe Analytics on täiustatud analüütikalahendus ettevõttekeskkondadele, mis võimaldab teil koguda ja analüüsida mitmekanalilisi andmeid: lehevaatamisi, unikaalseid külastajaid, oste, tellimuste omistamist, konversioonilehtreid ja klienditeekondi. See integreerub veebisaitide, e-kirjade ja rakendustega ning võimaldab teil luua üksikasjalikke juhtpaneele ja ülitäpseid segmente.
Avatud lahendusi otsivate projektide jaoks pakub Matomo (endine Piwik) avatud lähtekoodiga ise hostitud veebianalüüsi platvormi, mis kogub valimiväliseid andmeid: veebiliiklus, e-kaubandus, eesmärgid, sündmused ja kohandatud segmendid. See on atraktiivne valik, kui soovite oma andmete üle suuremat kontrolli ja eelistate vältida suletud SaaS-lahendusi.
Clicky on veel üks analüüsitööriist, mis paistab silma reaalajas keskendumise poolest, kuvades andmeid, nagu aktiivsed külastajad, lehevaatamised ja sündmused, peaaegu koheselt. See võib olla kasulik otsingumootorite kasutamise jälgimiseks liikluse järskude tõusude või konkreetsete kampaaniate ajal ning asjakohasuse või toimivuse probleemide kiireks avastamiseks.
Fathom seevastu keskendub lihtsusele ja privaatsusele, pakkudes põhinäitajaid nagu vaatamised, unikaalsed vaatamised, keskmine saidil veedetud aeg, põrkeprotsent, eesmärkide täitmine, liikluse allikas, riik, seade ja brauser, rõhutades selgelt andmekaitset. See võib olla väga oluline neile, kes soovivad järgida privaatsuseeskirju, ohverdamata seejuures ülevaadet otsingumootorite kasutamisest.
Privaatsus, isikupärastamine ja tegevus veebis ja rakendustes
Reaalajas otsingufunktsioonid tuginevad tulemuste isikupärastamiseks üha enam kasutajate käitumisandmetele : otsinguajalugu, külastatud lehed, varasemad toimingud jne. Google'i ökosüsteemis on üks põhikomponente veebi- ja rakendustegevuse säte, mis on seotud kasutajakontoga.
Kui see valik on lubatud, salvestab see teie otsinguajaloo ja tegevuse teistes Google'i teenustes , võimaldades isikupärastatud kogemusi, nagu kiiremad ja asjakohasemad otsingutulemused, kasulikumad rakendused ja asjakohased sisusoovitused. Neid signaale kasutatakse huvide järeldamiseks ning nii toodete kui ka pettuste või kuritarvituste tuvastamise täiustamiseks.
Kasutaja saab selle seade keelata või ajaloolise tegevuse igal ajal kontotegevuste halduse või minu tegevuse jaotise kaudu kustutada. Samuti võivad nad kogu ajaloo vaatamiseks nõuda täiendavat kinnitussammu, suurendades seeläbi salvestatud teabe turvalisust.
Kui kasutate brauserit nagu Chrome, on teil ka võimalus lisada oma sirvimisajalugu ja tegevus saitidel ja rakendustes, mis kasutavad Google'i teenuseid, samuti oma hääle- ja helitegevus. Kõike seda saab kasutada otsingutulemuste edasiseks isikupärastamiseks nii võrgus olles kui ka mõnel juhul võrguühenduseta sirvides.
Samuti on oluline meeles pidada, et brauseriajalugu (Google'ist olenemata) saab salvestada otsinguid ja külastatud saite ning et privaatseid režiime, näiteks inkognito režiimi , saab kasutada selle tegevuse lokaalse salvestamise vältimiseks. Arendaja seisukohast on ülioluline olla läbipaistev selle osas, milliseid andmeid kogutakse, kuidas neid kasutatakse, ning pakkuda selgeid nõusoleku ja kontrollivõimalusi.
Ettevõtte või hariduse kontekstis võivad mõned veebi- ja rakendustegevusega seotud funktsioonid sõltuda organisatsiooni Google'i konto administraatori konfiguratsioonist , mis piirab saadaolevate kohandamisvõimaluste ulatust ja seda, kuidas neid andmeid saab sisemiste rakendustega integreerida.
Reaalajas otsingusüsteemide loomisel on kõigi nende privaatsusmõjude arvestamine ülioluline nii juriidilistel põhjustel kui ka kasutajate usalduse suurendamiseks. Hea tasakaal isikupärastamise ja privaatsuse austamise vahel võib rakenduse omaksvõtmisel ja tajumisel otsustavat rolli mängida.
Veebirakenduste reaalajas otsingu praegune maastik ühendab endas võimsad otsingumootorid, tehisintellekti integratsioonid, raamistikud nagu Laravel, natiivsed Androidi utiliidid, analüüsivahendid ning omavahel põimunud privaatsuse ja isikupärastamise kihid. Õige arhitektuuri valimine – olgu selleks siis lahendus nagu Algolia või Elasticsearch, Laraveli ja JavaScriptiga loodud kohandatud otsingumootor või sügav integratsioon Androidi otsingusüsteemiga – hõlmab andmemahu, eelarve ja privaatsusnõuete hindamist . Hästi läbimõeldud disain pakub kiireid, asjakohaseid ja turvalisi otsinguid, mis on kooskõlas praeguste kasutajate ootustega.