RulleRimfrost Skrevet 3. november 2009 Del Skrevet 3. november 2009 (endret) Hei Ajax er jo litt in, og spesielt synes jeg det er pent i søkefunksjonalitet. Både prisguide.no og google.com har en rask dropdown av forslag til hva man søker etter, men hvordan klarer de å finne forslagene så raskt, i så store mengder text? Om man har en produktdatabase, med feks en kolonne med VARCHAR(500) som skal gjennomsøkes, vil ikke SELECT TOP 5 p.beskrivelse, p.link FROM produkt p WHERE p.beskrivelse LIKE "%søkekriteria%" Ta alt for lang tid til bruke i interaktiv dropdown Er det et indexeringstriks, eller massiv hardware som skal til ? edit:skrivefeil Endret 3. november 2009 av RulleRimfrost Lenke til kommentar
blackbrrd Skrevet 4. november 2009 Del Skrevet 4. november 2009 De bruker en form for fulltekstindeksering. Lenke til kommentar
Jankee Skrevet 4. november 2009 Del Skrevet 4. november 2009 Etter kva eg har hørdt ligger det ein søkmotor bak sjølve søket, og då antar eg at også den leverer autocomplete-funksjonen som ligger der. Er slike ting søkemotorene er kjappe på iforhold til relasjonsdatabaser. Ajax kan gjerne vere frontend-delen men dataene gies av søkemotoren. Solr (open source søkemotor) kan gjere dette via faseteringssøk. Lenke til kommentar
RulleRimfrost Skrevet 4. november 2009 Forfatter Del Skrevet 4. november 2009 OK. Så for å få "applikasjonshastighet" på et webbasert grensesnitt, så snakker vi ikke om databasen pr se, men en index-tjeneste som ligger mellom db og webservice ? Tenkte jeg skulle prøve å lage et kall mot et arkivsystem for hvert nye tegn i søkeinput, og at f eks Ms sql server 2005 da hadde et triks for å returnere de 5 mest relevante treffene mot en fritekst-kolonne på millioner av rader i løpet av millisekunder. Da i en low volume - high speed setting. Kjenner oppsett av egen server-app liksom glir litt over min kompetanse interesse Lenke til kommentar
Jonas Skrevet 4. november 2009 Del Skrevet 4. november 2009 Legg merke til at autocompletion på google ikke egentlig er søkeresultater, men resultater av et søk gjort i tidligere søk-queries. Altså, når du taster i vei, så gjøres det ikke et helt ordinært google-søk hvert bidige halve sekkund. Noe slikt ville redusert den helhetlige responsen drastisk. Det som vises er bare ting andre har søkt på før deg, samt omtrent hvor mange resultater de fikk. Lenke til kommentar
siDDis Skrevet 5. november 2009 Del Skrevet 5. november 2009 Fulltekstsøk blir idag normalt gjort igjennom Solr/Lucene. Solr er ein fullblods webapplikasjon bygd på Lucene som er enkelt å setja opp for å indeksere databasen. Så når du gjer eit søk så kjører du ein http GET/POST mot Solr som svarer. Solr er vanvittig effektivt og kan også settes opp i eit kluster/replikeringsoppsett. Vanleg database fulltekstsøk er ut, databasen har som regel nok flaskehalser frå før av. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå