Dynamicweb eCommerce integreret med Solr til faceted search

Dynamicweb lancerede med deres efterhånden gamle version 7.2 en opdateringspakke til Dynamicweb eCommerce som bød på hurtigere søgning baseret på Lucene, som kunne bruges til at lave “faceted search“, type-a-head og suggest funktionen kendt fra søgemaskinerne, sammenligning af produkter osv. Jeg og mine kollegaer på Co3 tog teknikken til os og begyndte at bygge nogle løsninger med de nye muligheder.

Hvordan vi kom fra Powerpack til valget af Solr.

En af dem er www.ege.dk som gik i luften med deres danske udgave tilbage i december 2011, og med deres simple produkt struktur med knap 5000 produkter i en varegruppe “Væg til væg-tæpper“, så havde vi fået Dynamicweb løsningen i knæ. Det skyldes ikke Lucene, men mere at Dynamiwebs faceted search logik ikke var gearet til 5000 produkter i en liste.

Siden skulle vise 72 produkter, men optællingen i de 5 facet grupper med deres valgmuligheder tog tid.

Vi lavede forsøg med at udvikle vores egen søgning direkte ned mod Lucene data, men igen blev vi mødt med at optællingen af hver valgmulighed i de 5 facet grupper bare tog for lang tid.

Så kastede vi os over Solr, som vi havde researchet på i ca. et halvt års tid, som er en overbygning på Lucene der understøtter faceted search og så begyndte der at vise sig et rigtig lækkert potentiale for, at vores faceted search kunne komme til at performe.

Oplev det selv på http://www.ege.dk/taepper/vaeg-til-vaeg-taepper.aspx

Lidt bag om facaden om ned i teknikken

Løsningen består af en bagved liggende REST baseret webservice drevet af Solr på en Tomcat server, som jeg kun kan sige har min dybeste respekt for sin ydeevne (psssst – det er vanvittigt!!!). Vi har lavet en integration mellem Solrs data index og Dynamicweb eCommerce. Og da vi i forvejen har integration fra ege’s Movex ERP, så kører vi lige en opdatering af Solr data lige efter vi har fået friske data fra Movex.

Personligt synes jeg det er synd, at Dynamicwebs løsning gik i knæ, og jeg er også i dialog med Dynamicweb, så de kan forbedre deres løsning, anderledes synes jeg, at løsningen til ege baseret på Solr giver så mange andre fordele, som vi skal til at arbejde med bl.a. deres site-søgning ønsker vi at understøtte med en type-a-head funktion og udvide Solr implementeringen til også at indeholde sider og dokumenter.

Hvad synes du om vores løsning, kunne vi gøre noget andet med 5000 produkter?

Kunne du tænke dig samme løsning, så kontakt mig.

Links

(UPDATE)
Enemo har jeg fejlagtigt angivet som værende “Dynamicweb baseret faceted search”, jeg har snakket med dem, som har lavet det, og de har faktisk selv udviklet funktionaliteten baseret på SQL Server:
http://www.enemo.dk/Forside/Hvidevarer/Haarde-hvidevarer/Koeleskabe.aspx

Hvis du er på Linked-in, så prøv en person søgning som denne og leg med filtrene:
http://www.linkedin.com/search/fpsearch?type=people&keywords=Kevin

Smartgirl.dk løsning også med faceted search som jeg ser op til rent hastighedsmæssigt:
http://www.smartgirl.dk/toej/kjoler

asos.com som er en inspirationskilde til faceted search:
http://www.asos.com/Women/Dresses/Cat/pgecategory.aspx?cid=8799

, , , ,

2 Kommentarer

  • Benjamin siger:

    Hej! Yderst interessant info, vi er da enige om at faceted search er måden hvorpå man i et søgefelt som f.eks google løbende får forslag til søgningen som så indskrænker efterhånden som man putter bokstaver ind ik?

  • Kevin Steffer siger:

    @Benjamin, nej, det er faktisk ikke forslagene som Google kommer med, som er faceted search.
    Faceted search er, hvor data der søges i udstiller nogle egenskaber fx pris, farve, størrelse, som der så kan filtreres efter i de viste data.
    Faceted search er oftest alle de parametre der kan filtreres efter i en bjælke i siden på sitet.

Skriv et svar

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>