SlideShare ist ein Scribd-Unternehmen logo
Websites mit Guided Navigation  Walter Schärer / Daniel Nydegger über Faceted Search
 
 
 
 
 
 
Wann eignet sich eine  Facettierte Suche? Art des Datenbestandes Gut strukturierte Daten (Metainformationen) Viele Daten Zielpublikum Web Savvy? Stöbern nach Informationen
Wie setzt man eine  Guided Navigation um? Make or buy? Ein Thema für sich… Kauf von Software-Tools wie Endeca.com (vacando, migros) Entwicklung mit OpenSource via Lucene / Solr / Lucid (jobwinner) Entwicklung mit PHP (movies.ch)
Welche SEO-Aspekte muss man beachten?  AJAX vs. Crawlbarkeit URL-Struktur / Multiple Content http://vacando.ch/italien http://vacando.ch/alberobello/apulien/italien
Welche Usability-Vorgaben sollte man befolgen? AJAX vs. Crawlbarkeit... Ausprägung der Facetten je nach Thema Wie knifflig ist die Bedienung? Komplexität von Cross- und Up-Selling Beherrscht man eine Business-Rule-Engine? Inline Expand Scrolling Neue Seite Dynamisches Menu Paging Auto Complete Kombinationen davon…
Daniel Nydegger Software Architekt / Senior Entwickler  Webapplikationen im Open Source Umfeld
Lucene / Solr Solr ist eine Enterprise Search Plattform Bietet alle Möglichkeiten einer modernen Suche Hochskalierbar und weit verbreitet Big and Small Data Solutions Basiert auf Apache Lucene
Data Processing
Auschnitt Solr Index Einzelne oder mehrere Werte für eine Facete in einem Dokument Die Felder enthalten die analysierten Werte Text, numerische und Date Werte
Einfache Facet Abfrage facet.field=branch& facet.sort=count http://.../select/? facet=true &...&indent=on&rows=3&q=*:* Allgemeine Struktur des Requests < lst   name = &quot;facet_counts&quot; > < lst   name = &quot;facet_fields&quot; > < lst   name = &quot;branch&quot; > < int   name = &quot;humanresources&quot; > 172 </ int > < int   name = &quot;versicherungen&quot; > 59 </ int > < int   name = &quot;baugewerbeimmobilien&quot; > 22 </ int > < int   name = &quot;industrieallgemein&quot; > 19 </ int > < int   name = &quot;verbaendeorganisationen&quot; > 19 </ int > ... ... < int   name = &quot;grosshandel&quot; > 2 </ int > < int   name = &quot;elektronikelektrotechnik&quot; > 1 </ int > < int   name = &quot;fahrzeugmarkt&quot; > 1 </ int > < int   name = &quot;freizeitkultursport&quot; > 1 </ int > < int   name = &quot;gastgewerbehotellerietourismus&quot; > 1 </ int > < int   name = &quot;oeffentlicheverwaltung&quot; > 1 </ int > </ lst > </ lst > </ lst >
Facet Selection fq=branch:(versicherungen OR banken) < lst   name = &quot;facet_counts&quot; > < lst   name = &quot;facet_fields&quot; > < lst   name = &quot;branch&quot; > < int   name = &quot;versicherungen&quot; > 59 </ int > < int   name = &quot;banken&quot; > 18 </ int > ... < int   name = &quot;anlagemaschinenmetallbau&quot; > 0 </ int > < int   name = &quot;aviatiklogistiktransportverkehr&quot; > 0 </ int > < int   name = &quot;baugewerbeimmobilien&quot; > 0 </ int > < int   name = &quot;biotechnologiechemiepharma&quot; > 0 </ int > < int   name = &quot;detaileinzelhandel&quot; > 0 </ int > < int   name = &quot;dienstleistungenallgemein&quot; > 0 </ int > ... ... < int   name = &quot;verbaendeorganisationen&quot; > 0 </ int > </ lst > </ lst > </ lst > Multiselection innerhalb Facet mit OR Verknüpfung Nicht selektionierte Facets werden mit count = 0 zurück gegeben
Andere Response Formate fq=branch:(versicherungen OR banken)& wt=json Mit wt=javabin werden serialisierte Objekte erstellt &quot;facet_counts&quot;:{ &quot;facet_queries&quot;:{}, &quot;facet_fields&quot;:{ &quot;branch&quot;:[ &quot;versicherungen&quot;,59, &quot;banken&quot;,18, ... &quot;anlagemaschinenmetallbau&quot;,0, &quot;aviatiklogistiktransportverkehr&quot;,0, &quot;baugewerbeimmobilien&quot;,0, &quot;biotechnologiechemiepharma&quot;,0, &quot;detaileinzelhandel&quot;,0, &quot;dienstleistungenallgemein&quot;,0, ... ... &quot;verbaendeorganisationen&quot;,0]}, &quot;facet_dates&quot;:{}, &quot;facet_ranges&quot;:{}}}
Facet Selection mit Exclusion facet.field={!ex=xy}branch& fq={!tag=xy}branch:(versicherungen OR banken) Die nicht selektionierten Facet Values befinden sich auch in der Facet Response Die Query Results entsprechen der Selektion < lst   name = &quot;facet_counts&quot; > < lst   name = &quot;facet_fields&quot; > < lst   name = &quot;branch&quot; > < int   name = &quot;humanresources&quot; > 172 </ int > < int   name = &quot;versicherungen&quot; > 59 </ int > < int   name = &quot;baugewerbeimmobilien&quot; > 22 </ int > < int   name = &quot;industrieallgemein&quot; > 19 </ int > < int   name = &quot;banken&quot; > 18 </ int > ... ... < int   name = &quot;grosshandel&quot; > 2 </ int > < int   name = &quot;elektronikelektrotechnik&quot; > 1 </ int > < int   name = &quot;freizeitkultursport&quot; > 1 </ int > < int   name = &quot;oeffentlicheverwaltung&quot; > 1 </ int > </ lst > </ lst > </ lst >
Multi Facet Selection facet.field=branch& fq=branch:versicherungen& facet.field=region& fq=region:(011 OR 006) 011=Kanton Zürich 006=Innerschweiz Alle Inserate in der Branche Versicherungen, in der Region Zürich und Innerschweiz Die einzelnen Facets werden AND verknüpft Alle nicht selektionierten Werte sind haben count = 0 < lst   name = &quot;facet_counts&quot; > < lst   name = &quot;facet_fields&quot; > < lst   name = &quot;branch&quot; > < int   name = &quot;versicherungen&quot; > 25 </ int > ... < int   name = &quot;anlagemaschinenmetallbau&quot; > 0 </ int > < int   name = &quot;aviatiklogistiktransportverkehr&quot; > 0 </ int > < int   name = &quot;banken&quot; > 0 </ int > ... < int   name = &quot;verbaendeorganisationen&quot; > 0 </ int > </ lst > < lst   name = &quot;region&quot; > < int   name = &quot;011&quot; > 19 </ int > < int   name = &quot;006&quot; > 6 </ int > ... < int   name = &quot;003&quot; > 0 </ int > < int   name = &quot;010&quot; > 0 </ int > < int   name = &quot;013&quot; > 0 </ int > </ lst > </ lst > </ lst >
Multi Facet Selection mit Exclusion facet.field= {!ex=xy1}branch& fq={!tag=xy1}branch: versicherungen& facet.field= {!ex=xy2}region& fq={!tag=xy2} region:(011 OR 006) Die counts der nicht selektionierten Facet Values sind zusätzliche Treffer, wenn der entsprechende Facet Value selektioniert wird < lst   name = &quot;facet_counts&quot; > < lst   name = &quot;facet_fields&quot; > < lst   name = &quot;branch&quot; > < int   name = &quot;humanresources&quot; > 121 </ int > ... < int   name = &quot;versicherungen&quot; > 25 </ int > ... < int   name = &quot;banken&quot; > 13 </ int > < int   name = &quot;informatik&quot; > 2 </ int > < int   name = &quot;freizeitkultursport&quot; > 1 </ int > < int   name = &quot;elektronikelektrotechnik&quot; > 0 </ int > </ lst > < lst   name = &quot;region&quot; > < int   name = &quot;011&quot; > 19 </ int > ...  < int   name = &quot;006&quot; > 6 </ int > ... < int   name = &quot;003&quot; > 5 </ int > < int   name = &quot;007&quot; > 5 </ int > </ lst > </ lst > </ lst >
Range Facets facet.field=branch& fq=branch:versicherungen& facet.range=pubdate& facet.range.start= NOW-6DAY/DAY facet.range.end= NOW/DAY facet.range.gap= +1DAY Gruppierung der Treffer nach konstanten zeitlichen oder numerischen Abständen < lst   name = &quot;facet_counts&quot; > < lst   name = &quot;facet_queries&quot; /> < lst   name = &quot;facet_fields&quot; > < lst   name = &quot;branch&quot; > < int   name = &quot;versicherungen&quot; > 59 </ int > </ lst > </ lst > < lst   name = &quot;facet_dates&quot; /> < lst   name = &quot;facet_ranges&quot; > < lst   name = &quot;searchsubtimestamp&quot; > < lst   name = &quot;counts&quot; > < int   name = &quot;2011-12-08T00:00:00Z&quot; > 4 </ int > < int   name = &quot;2011-12-07T00:00:00Z&quot; > 5 </ int > < int   name = &quot;2011-12-06T00:00:00Z&quot; > 7 </ int > < int   name = &quot;2011-12-05T00:00:00Z&quot; > 3 </ int > < int   name = &quot;2011-12-04T00:00:00Z&quot; > 2 </ int > < int   name = &quot;2011-12-03T00:00:00Z&quot; > 1 </ int > </ lst > </ lst > </ lst > </ lst >
Facet Queries facet.field=branch& fq=branch:versicherungen& facet.query= pubdate:[NOW-7DAY TO *] facet.query= pubdate:[NOW-21DAY TO *] Gruppierung der Treffer in beliebigen Abständen Als Query können auch komplexe Funktionen mit Index Feldern verwendet werden < lst   name = &quot;facet_counts&quot; > < lst   name = &quot;facet_fields&quot; > < lst   name = &quot;branch&quot; > < int   name = &quot;versicherungen&quot; > 59 </ int > </ lst > </ lst > < lst   name = &quot;facet_queries&quot; > < int   name = &quot;pubdate:[NOW-7DAY TO *]&quot; > 24 </ int > < int   name = &quot;pubdate:[NOW-21DAY TO *]&quot; > 31 </ int > </ lst > </ lst >
Hierarchische Facets facet.field=sectionmain& fq=sectionmain:(004 OR 017) facet.field=sectionsub& fq=sectionsub: (004.012 OR 017.*) Anzeige aller Child Facets mit Parent = 017 Parent / Child Auswahl für 004.012 sectionmain und sectionsub sind Multi Valued, Anzeige der weiteren Facet Values < lst   name = &quot;facet_counts&quot; > < lst   name = &quot;facet_queries&quot;   /> < lst   name = &quot;facet_fields&quot; > < lst   name = &quot;sectionmain&quot; > < int   name = &quot;017&quot; > 27 </ int > < int   name = &quot;004&quot; > 12 </ int > < int   name = &quot;005&quot; > 3 </ int > < int   name = &quot;013&quot; > 3 </ int > </ lst > < lst   name = &quot;sectionsub&quot; > < int   name = &quot;017.091&quot; > 13 </ int > < int   name = &quot;004.012&quot; > 12 </ int > < int   name = &quot;017.130&quot; > 8 </ int > < int   name = &quot;017.129&quot; > 5 </ int > < int   name = &quot;013.052&quot; > 3 </ int > < int   name = &quot;005.027&quot; > 2 </ int > < int   name = &quot;005.044&quot; > 1 </ int > < int   name = &quot;017.083&quot; > 1 </ int > </ lst > </ lst > </ lst >
Response Time Solr Request Response Time für Facetierung mit Selektion von Values ist auch für grosse Datenmengen (> 1 Mio) kleiner als 10 ms Auch in Verbindung mit Semantic Search/Volltextsuche bleibt die Response Time hoch performant Caching der Filter Queries, Autowarming der Caches nach insert von Daten
Faceted Search Facts I Ein klickbarer Prototyp hilft die vielfältigen Möglichkeiten der Datenanalyse zu diskutieren Die Komplexität der Datenanalyse ist vor dem User zu verbergen Default Ranges, [A-Z] Buckets, Suggest und Hierachische Facets verwenden Komplexität der Faceted Search, Analyse, Tricks
Faceted Search Facts II Mehrfachselektion ist bei Single Value Feld gut einsetzbar Mehrfachselektion auf Multivalue Felder wir im Allgemeinen schlecht verstanden Eine grosse Menge an Facet Values ist eine Herausforderung für die Usability Enfach/Mehrfach Selektion von Facet Values
Beyond Faceting Semantic Search Multilanguage Analyzing / Data Processing Scaleability / Cloud Big / Small Data Management Recommendation Engine Machine Learning Matching Categorisation Autosuggest Spell Checking More Like This Result Highlighting Geo-Search Flexible Ranking
Slides:  http://e-byz.ch http://spectromedia.ch Walter Schärer verantwortet als Senior Projektleiter Internetprojekte unterschiedlicher Ausprägung.  Daniel Nydegger ist als Software Architekt und Senior Entwickler für die Umsetzung von Webapplikationen im Open Source Umfeld tätig.  https://www.xing.com/profile/Walter_Schaerer https://www.xing.com/profile/Daniel_Nydegger3 Web-Beispiele für Multi-Faceted-Navigation: www.vacando.ch  www.migros-ferien.ch  www.jobwinner.ch www.movies.ch www.tutti.ch fundlab.credit-suisse.com

Weitere ähnliche Inhalte

Ähnlich wie Guided Navigation - Beispiele von Schweizer Websites

Integration und Betriebsüberwachung mit der Oracle SOA Suite 11g - DOAG SI...
Integration und Betriebsüberwachung mit der Oracle SOA Suite 11g   - DOAG SI...Integration und Betriebsüberwachung mit der Oracle SOA Suite 11g   - DOAG SI...
Integration und Betriebsüberwachung mit der Oracle SOA Suite 11g - DOAG SI...
OPITZ CONSULTING Deutschland
 
Dynamische Websites mit XML
Dynamische Websites mit XMLDynamische Websites mit XML
Dynamische Websites mit XML
Stephan Schmidt
 
Leichtgewichtige Architekturen mit Spring, JPA, Maven und Groovy
Leichtgewichtige Architekturen mit Spring, JPA, Maven und GroovyLeichtgewichtige Architekturen mit Spring, JPA, Maven und Groovy
Leichtgewichtige Architekturen mit Spring, JPA, Maven und Groovy
Thorsten Kamann
 
HTML5: Einblick, Überblick, Ausblick
HTML5: Einblick, Überblick, AusblickHTML5: Einblick, Überblick, Ausblick
HTML5: Einblick, Überblick, Ausblick
Michael Jendryschik
 
Design Review & Software Testing
Design Review & Software TestingDesign Review & Software Testing
Design Review & Software Testing
Yogindernath Gupta
 
JBoss jBPM 4
JBoss jBPM 4JBoss jBPM 4
JBoss jBPM 4
camunda services GmbH
 
What Exactly are the Techniques of Software Verification & Validation
What Exactly are the Techniques of Software Verification & ValidationWhat Exactly are the Techniques of Software Verification & Validation
What Exactly are the Techniques of Software Verification & Validation
Yogindernath Gupta
 
Scala XML
Scala XMLScala XML
Scala XML
Tobias Neumann
 
ARIA
ARIAARIA
Mobile Web Development from Scratch
Mobile Web Development from ScratchMobile Web Development from Scratch
Mobile Web Development from Scratch
NokiaAppForum
 

Ähnlich wie Guided Navigation - Beispiele von Schweizer Websites (14)

HTML: Formulare
HTML: FormulareHTML: Formulare
HTML: Formulare
 
Integration und Betriebsüberwachung mit der Oracle SOA Suite 11g - DOAG SI...
Integration und Betriebsüberwachung mit der Oracle SOA Suite 11g   - DOAG SI...Integration und Betriebsüberwachung mit der Oracle SOA Suite 11g   - DOAG SI...
Integration und Betriebsüberwachung mit der Oracle SOA Suite 11g - DOAG SI...
 
Dynamische Websites mit XML
Dynamische Websites mit XMLDynamische Websites mit XML
Dynamische Websites mit XML
 
Leichtgewichtige Architekturen mit Spring, JPA, Maven und Groovy
Leichtgewichtige Architekturen mit Spring, JPA, Maven und GroovyLeichtgewichtige Architekturen mit Spring, JPA, Maven und Groovy
Leichtgewichtige Architekturen mit Spring, JPA, Maven und Groovy
 
Interview
InterviewInterview
Interview
 
HTML5: Einblick, Überblick, Ausblick
HTML5: Einblick, Überblick, AusblickHTML5: Einblick, Überblick, Ausblick
HTML5: Einblick, Überblick, Ausblick
 
JBoss jBPM 4 bei der JBUG München
JBoss jBPM 4 bei der JBUG MünchenJBoss jBPM 4 bei der JBUG München
JBoss jBPM 4 bei der JBUG München
 
Design Review & Software Testing
Design Review & Software TestingDesign Review & Software Testing
Design Review & Software Testing
 
JBoss jBPM 4
JBoss jBPM 4JBoss jBPM 4
JBoss jBPM 4
 
What Exactly are the Techniques of Software Verification & Validation
What Exactly are the Techniques of Software Verification & ValidationWhat Exactly are the Techniques of Software Verification & Validation
What Exactly are the Techniques of Software Verification & Validation
 
Scala XML
Scala XMLScala XML
Scala XML
 
ARIA
ARIAARIA
ARIA
 
jBPM 4 bei der JUG Karlsruhe
jBPM 4 bei der JUG KarlsruhejBPM 4 bei der JUG Karlsruhe
jBPM 4 bei der JUG Karlsruhe
 
Mobile Web Development from Scratch
Mobile Web Development from ScratchMobile Web Development from Scratch
Mobile Web Development from Scratch
 

Mehr von Walter Schärer

Storytelling im Business- und Blogger-Umfeld
Storytelling im Business- und Blogger-UmfeldStorytelling im Business- und Blogger-Umfeld
Storytelling im Business- und Blogger-Umfeld
Walter Schärer
 
Video in Social Media smm16 Konferenz in Zürich
Video in Social Media smm16 Konferenz in ZürichVideo in Social Media smm16 Konferenz in Zürich
Video in Social Media smm16 Konferenz in Zürich
Walter Schärer
 
Reiseblogger Podiumsrunde für Gstaad Saanenland Tourismus
Reiseblogger Podiumsrunde für Gstaad Saanenland TourismusReiseblogger Podiumsrunde für Gstaad Saanenland Tourismus
Reiseblogger Podiumsrunde für Gstaad Saanenland Tourismus
Walter Schärer
 
20130109 social media für personaldienstleister
20130109 social media für personaldienstleister20130109 social media für personaldienstleister
20130109 social media für personaldienstleister
Walter Schärer
 
Relais & Châteaux Präsentation an der Pressekonferenz 2012 im Zürcher Hürlima...
Relais & Châteaux Präsentation an der Pressekonferenz 2012 im Zürcher Hürlima...Relais & Châteaux Präsentation an der Pressekonferenz 2012 im Zürcher Hürlima...
Relais & Châteaux Präsentation an der Pressekonferenz 2012 im Zürcher Hürlima...
Walter Schärer
 
HubSpot Inbound Marketing Tool for Online Marketers
HubSpot Inbound Marketing Tool for Online MarketersHubSpot Inbound Marketing Tool for Online Marketers
HubSpot Inbound Marketing Tool for Online Marketers
Walter Schärer
 
Requirements management-tool-gestuetzt-swiss-requirements-day-2012
Requirements management-tool-gestuetzt-swiss-requirements-day-2012Requirements management-tool-gestuetzt-swiss-requirements-day-2012
Requirements management-tool-gestuetzt-swiss-requirements-day-2012
Walter Schärer
 
Interaktive Requirements-Modellierung gemäss Hood Group
Interaktive Requirements-Modellierung gemäss Hood GroupInteraktive Requirements-Modellierung gemäss Hood Group
Interaktive Requirements-Modellierung gemäss Hood Group
Walter Schärer
 
Social media-monitoring
Social media-monitoringSocial media-monitoring
Social media-monitoring
Walter Schärer
 
Talentory.com: Stellenvermittlung für Arbeitgeber und Personalberatung
Talentory.com: Stellenvermittlung für Arbeitgeber und PersonalberatungTalentory.com: Stellenvermittlung für Arbeitgeber und Personalberatung
Talentory.com: Stellenvermittlung für Arbeitgeber und Personalberatung
Walter Schärer
 
jobup.ch relance de la bourse de l'emploi
jobup.ch relance de la bourse de l'emploijobup.ch relance de la bourse de l'emploi
jobup.ch relance de la bourse de l'emploi
Walter Schärer
 
Kanban explained David Anderson LAS 2011-zurich
Kanban explained David Anderson LAS 2011-zurichKanban explained David Anderson LAS 2011-zurich
Kanban explained David Anderson LAS 2011-zurich
Walter Schärer
 
Steve Denning: Radical Management Vortrag am Internet-Briefing Sep13-2011
Steve Denning: Radical Management Vortrag am Internet-Briefing Sep13-2011Steve Denning: Radical Management Vortrag am Internet-Briefing Sep13-2011
Steve Denning: Radical Management Vortrag am Internet-Briefing Sep13-2011
Walter Schärer
 
Next Web & Open Standards: LIIP Vortrag Internet-Briefing
Next Web & Open Standards: LIIP Vortrag Internet-BriefingNext Web & Open Standards: LIIP Vortrag Internet-Briefing
Next Web & Open Standards: LIIP Vortrag Internet-Briefing
Walter Schärer
 
Steuerung von Internetagenturen internet-briefing
Steuerung von Internetagenturen internet-briefingSteuerung von Internetagenturen internet-briefing
Steuerung von Internetagenturen internet-briefing
Walter Schärer
 
Strategie & Konzeption bei Online- und Offline-Kommunikation in der Unternehm...
Strategie & Konzeption bei Online- und Offline-Kommunikation in der Unternehm...Strategie & Konzeption bei Online- und Offline-Kommunikation in der Unternehm...
Strategie & Konzeption bei Online- und Offline-Kommunikation in der Unternehm...
Walter Schärer
 
Guided Navigation (Faceted Search)
Guided Navigation (Faceted Search)Guided Navigation (Faceted Search)
Guided Navigation (Faceted Search)
Walter Schärer
 

Mehr von Walter Schärer (17)

Storytelling im Business- und Blogger-Umfeld
Storytelling im Business- und Blogger-UmfeldStorytelling im Business- und Blogger-Umfeld
Storytelling im Business- und Blogger-Umfeld
 
Video in Social Media smm16 Konferenz in Zürich
Video in Social Media smm16 Konferenz in ZürichVideo in Social Media smm16 Konferenz in Zürich
Video in Social Media smm16 Konferenz in Zürich
 
Reiseblogger Podiumsrunde für Gstaad Saanenland Tourismus
Reiseblogger Podiumsrunde für Gstaad Saanenland TourismusReiseblogger Podiumsrunde für Gstaad Saanenland Tourismus
Reiseblogger Podiumsrunde für Gstaad Saanenland Tourismus
 
20130109 social media für personaldienstleister
20130109 social media für personaldienstleister20130109 social media für personaldienstleister
20130109 social media für personaldienstleister
 
Relais & Châteaux Präsentation an der Pressekonferenz 2012 im Zürcher Hürlima...
Relais & Châteaux Präsentation an der Pressekonferenz 2012 im Zürcher Hürlima...Relais & Châteaux Präsentation an der Pressekonferenz 2012 im Zürcher Hürlima...
Relais & Châteaux Präsentation an der Pressekonferenz 2012 im Zürcher Hürlima...
 
HubSpot Inbound Marketing Tool for Online Marketers
HubSpot Inbound Marketing Tool for Online MarketersHubSpot Inbound Marketing Tool for Online Marketers
HubSpot Inbound Marketing Tool for Online Marketers
 
Requirements management-tool-gestuetzt-swiss-requirements-day-2012
Requirements management-tool-gestuetzt-swiss-requirements-day-2012Requirements management-tool-gestuetzt-swiss-requirements-day-2012
Requirements management-tool-gestuetzt-swiss-requirements-day-2012
 
Interaktive Requirements-Modellierung gemäss Hood Group
Interaktive Requirements-Modellierung gemäss Hood GroupInteraktive Requirements-Modellierung gemäss Hood Group
Interaktive Requirements-Modellierung gemäss Hood Group
 
Social media-monitoring
Social media-monitoringSocial media-monitoring
Social media-monitoring
 
Talentory.com: Stellenvermittlung für Arbeitgeber und Personalberatung
Talentory.com: Stellenvermittlung für Arbeitgeber und PersonalberatungTalentory.com: Stellenvermittlung für Arbeitgeber und Personalberatung
Talentory.com: Stellenvermittlung für Arbeitgeber und Personalberatung
 
jobup.ch relance de la bourse de l'emploi
jobup.ch relance de la bourse de l'emploijobup.ch relance de la bourse de l'emploi
jobup.ch relance de la bourse de l'emploi
 
Kanban explained David Anderson LAS 2011-zurich
Kanban explained David Anderson LAS 2011-zurichKanban explained David Anderson LAS 2011-zurich
Kanban explained David Anderson LAS 2011-zurich
 
Steve Denning: Radical Management Vortrag am Internet-Briefing Sep13-2011
Steve Denning: Radical Management Vortrag am Internet-Briefing Sep13-2011Steve Denning: Radical Management Vortrag am Internet-Briefing Sep13-2011
Steve Denning: Radical Management Vortrag am Internet-Briefing Sep13-2011
 
Next Web & Open Standards: LIIP Vortrag Internet-Briefing
Next Web & Open Standards: LIIP Vortrag Internet-BriefingNext Web & Open Standards: LIIP Vortrag Internet-Briefing
Next Web & Open Standards: LIIP Vortrag Internet-Briefing
 
Steuerung von Internetagenturen internet-briefing
Steuerung von Internetagenturen internet-briefingSteuerung von Internetagenturen internet-briefing
Steuerung von Internetagenturen internet-briefing
 
Strategie & Konzeption bei Online- und Offline-Kommunikation in der Unternehm...
Strategie & Konzeption bei Online- und Offline-Kommunikation in der Unternehm...Strategie & Konzeption bei Online- und Offline-Kommunikation in der Unternehm...
Strategie & Konzeption bei Online- und Offline-Kommunikation in der Unternehm...
 
Guided Navigation (Faceted Search)
Guided Navigation (Faceted Search)Guided Navigation (Faceted Search)
Guided Navigation (Faceted Search)
 

Guided Navigation - Beispiele von Schweizer Websites

  • 1. Websites mit Guided Navigation Walter Schärer / Daniel Nydegger über Faceted Search
  • 2.  
  • 3.  
  • 4.  
  • 5.  
  • 6.  
  • 7.  
  • 8. Wann eignet sich eine Facettierte Suche? Art des Datenbestandes Gut strukturierte Daten (Metainformationen) Viele Daten Zielpublikum Web Savvy? Stöbern nach Informationen
  • 9. Wie setzt man eine Guided Navigation um? Make or buy? Ein Thema für sich… Kauf von Software-Tools wie Endeca.com (vacando, migros) Entwicklung mit OpenSource via Lucene / Solr / Lucid (jobwinner) Entwicklung mit PHP (movies.ch)
  • 10. Welche SEO-Aspekte muss man beachten? AJAX vs. Crawlbarkeit URL-Struktur / Multiple Content http://vacando.ch/italien http://vacando.ch/alberobello/apulien/italien
  • 11. Welche Usability-Vorgaben sollte man befolgen? AJAX vs. Crawlbarkeit... Ausprägung der Facetten je nach Thema Wie knifflig ist die Bedienung? Komplexität von Cross- und Up-Selling Beherrscht man eine Business-Rule-Engine? Inline Expand Scrolling Neue Seite Dynamisches Menu Paging Auto Complete Kombinationen davon…
  • 12. Daniel Nydegger Software Architekt / Senior Entwickler Webapplikationen im Open Source Umfeld
  • 13. Lucene / Solr Solr ist eine Enterprise Search Plattform Bietet alle Möglichkeiten einer modernen Suche Hochskalierbar und weit verbreitet Big and Small Data Solutions Basiert auf Apache Lucene
  • 15. Auschnitt Solr Index Einzelne oder mehrere Werte für eine Facete in einem Dokument Die Felder enthalten die analysierten Werte Text, numerische und Date Werte
  • 16. Einfache Facet Abfrage facet.field=branch& facet.sort=count http://.../select/? facet=true &...&indent=on&rows=3&q=*:* Allgemeine Struktur des Requests < lst name = &quot;facet_counts&quot; > < lst name = &quot;facet_fields&quot; > < lst name = &quot;branch&quot; > < int name = &quot;humanresources&quot; > 172 </ int > < int name = &quot;versicherungen&quot; > 59 </ int > < int name = &quot;baugewerbeimmobilien&quot; > 22 </ int > < int name = &quot;industrieallgemein&quot; > 19 </ int > < int name = &quot;verbaendeorganisationen&quot; > 19 </ int > ... ... < int name = &quot;grosshandel&quot; > 2 </ int > < int name = &quot;elektronikelektrotechnik&quot; > 1 </ int > < int name = &quot;fahrzeugmarkt&quot; > 1 </ int > < int name = &quot;freizeitkultursport&quot; > 1 </ int > < int name = &quot;gastgewerbehotellerietourismus&quot; > 1 </ int > < int name = &quot;oeffentlicheverwaltung&quot; > 1 </ int > </ lst > </ lst > </ lst >
  • 17. Facet Selection fq=branch:(versicherungen OR banken) < lst name = &quot;facet_counts&quot; > < lst name = &quot;facet_fields&quot; > < lst name = &quot;branch&quot; > < int name = &quot;versicherungen&quot; > 59 </ int > < int name = &quot;banken&quot; > 18 </ int > ... < int name = &quot;anlagemaschinenmetallbau&quot; > 0 </ int > < int name = &quot;aviatiklogistiktransportverkehr&quot; > 0 </ int > < int name = &quot;baugewerbeimmobilien&quot; > 0 </ int > < int name = &quot;biotechnologiechemiepharma&quot; > 0 </ int > < int name = &quot;detaileinzelhandel&quot; > 0 </ int > < int name = &quot;dienstleistungenallgemein&quot; > 0 </ int > ... ... < int name = &quot;verbaendeorganisationen&quot; > 0 </ int > </ lst > </ lst > </ lst > Multiselection innerhalb Facet mit OR Verknüpfung Nicht selektionierte Facets werden mit count = 0 zurück gegeben
  • 18. Andere Response Formate fq=branch:(versicherungen OR banken)& wt=json Mit wt=javabin werden serialisierte Objekte erstellt &quot;facet_counts&quot;:{ &quot;facet_queries&quot;:{}, &quot;facet_fields&quot;:{ &quot;branch&quot;:[ &quot;versicherungen&quot;,59, &quot;banken&quot;,18, ... &quot;anlagemaschinenmetallbau&quot;,0, &quot;aviatiklogistiktransportverkehr&quot;,0, &quot;baugewerbeimmobilien&quot;,0, &quot;biotechnologiechemiepharma&quot;,0, &quot;detaileinzelhandel&quot;,0, &quot;dienstleistungenallgemein&quot;,0, ... ... &quot;verbaendeorganisationen&quot;,0]}, &quot;facet_dates&quot;:{}, &quot;facet_ranges&quot;:{}}}
  • 19. Facet Selection mit Exclusion facet.field={!ex=xy}branch& fq={!tag=xy}branch:(versicherungen OR banken) Die nicht selektionierten Facet Values befinden sich auch in der Facet Response Die Query Results entsprechen der Selektion < lst name = &quot;facet_counts&quot; > < lst name = &quot;facet_fields&quot; > < lst name = &quot;branch&quot; > < int name = &quot;humanresources&quot; > 172 </ int > < int name = &quot;versicherungen&quot; > 59 </ int > < int name = &quot;baugewerbeimmobilien&quot; > 22 </ int > < int name = &quot;industrieallgemein&quot; > 19 </ int > < int name = &quot;banken&quot; > 18 </ int > ... ... < int name = &quot;grosshandel&quot; > 2 </ int > < int name = &quot;elektronikelektrotechnik&quot; > 1 </ int > < int name = &quot;freizeitkultursport&quot; > 1 </ int > < int name = &quot;oeffentlicheverwaltung&quot; > 1 </ int > </ lst > </ lst > </ lst >
  • 20. Multi Facet Selection facet.field=branch& fq=branch:versicherungen& facet.field=region& fq=region:(011 OR 006) 011=Kanton Zürich 006=Innerschweiz Alle Inserate in der Branche Versicherungen, in der Region Zürich und Innerschweiz Die einzelnen Facets werden AND verknüpft Alle nicht selektionierten Werte sind haben count = 0 < lst name = &quot;facet_counts&quot; > < lst name = &quot;facet_fields&quot; > < lst name = &quot;branch&quot; > < int name = &quot;versicherungen&quot; > 25 </ int > ... < int name = &quot;anlagemaschinenmetallbau&quot; > 0 </ int > < int name = &quot;aviatiklogistiktransportverkehr&quot; > 0 </ int > < int name = &quot;banken&quot; > 0 </ int > ... < int name = &quot;verbaendeorganisationen&quot; > 0 </ int > </ lst > < lst name = &quot;region&quot; > < int name = &quot;011&quot; > 19 </ int > < int name = &quot;006&quot; > 6 </ int > ... < int name = &quot;003&quot; > 0 </ int > < int name = &quot;010&quot; > 0 </ int > < int name = &quot;013&quot; > 0 </ int > </ lst > </ lst > </ lst >
  • 21. Multi Facet Selection mit Exclusion facet.field= {!ex=xy1}branch& fq={!tag=xy1}branch: versicherungen& facet.field= {!ex=xy2}region& fq={!tag=xy2} region:(011 OR 006) Die counts der nicht selektionierten Facet Values sind zusätzliche Treffer, wenn der entsprechende Facet Value selektioniert wird < lst name = &quot;facet_counts&quot; > < lst name = &quot;facet_fields&quot; > < lst name = &quot;branch&quot; > < int name = &quot;humanresources&quot; > 121 </ int > ... < int name = &quot;versicherungen&quot; > 25 </ int > ... < int name = &quot;banken&quot; > 13 </ int > < int name = &quot;informatik&quot; > 2 </ int > < int name = &quot;freizeitkultursport&quot; > 1 </ int > < int name = &quot;elektronikelektrotechnik&quot; > 0 </ int > </ lst > < lst name = &quot;region&quot; > < int name = &quot;011&quot; > 19 </ int > ... < int name = &quot;006&quot; > 6 </ int > ... < int name = &quot;003&quot; > 5 </ int > < int name = &quot;007&quot; > 5 </ int > </ lst > </ lst > </ lst >
  • 22. Range Facets facet.field=branch& fq=branch:versicherungen& facet.range=pubdate& facet.range.start= NOW-6DAY/DAY facet.range.end= NOW/DAY facet.range.gap= +1DAY Gruppierung der Treffer nach konstanten zeitlichen oder numerischen Abständen < lst name = &quot;facet_counts&quot; > < lst name = &quot;facet_queries&quot; /> < lst name = &quot;facet_fields&quot; > < lst name = &quot;branch&quot; > < int name = &quot;versicherungen&quot; > 59 </ int > </ lst > </ lst > < lst name = &quot;facet_dates&quot; /> < lst name = &quot;facet_ranges&quot; > < lst name = &quot;searchsubtimestamp&quot; > < lst name = &quot;counts&quot; > < int name = &quot;2011-12-08T00:00:00Z&quot; > 4 </ int > < int name = &quot;2011-12-07T00:00:00Z&quot; > 5 </ int > < int name = &quot;2011-12-06T00:00:00Z&quot; > 7 </ int > < int name = &quot;2011-12-05T00:00:00Z&quot; > 3 </ int > < int name = &quot;2011-12-04T00:00:00Z&quot; > 2 </ int > < int name = &quot;2011-12-03T00:00:00Z&quot; > 1 </ int > </ lst > </ lst > </ lst > </ lst >
  • 23. Facet Queries facet.field=branch& fq=branch:versicherungen& facet.query= pubdate:[NOW-7DAY TO *] facet.query= pubdate:[NOW-21DAY TO *] Gruppierung der Treffer in beliebigen Abständen Als Query können auch komplexe Funktionen mit Index Feldern verwendet werden < lst name = &quot;facet_counts&quot; > < lst name = &quot;facet_fields&quot; > < lst name = &quot;branch&quot; > < int name = &quot;versicherungen&quot; > 59 </ int > </ lst > </ lst > < lst name = &quot;facet_queries&quot; > < int name = &quot;pubdate:[NOW-7DAY TO *]&quot; > 24 </ int > < int name = &quot;pubdate:[NOW-21DAY TO *]&quot; > 31 </ int > </ lst > </ lst >
  • 24. Hierarchische Facets facet.field=sectionmain& fq=sectionmain:(004 OR 017) facet.field=sectionsub& fq=sectionsub: (004.012 OR 017.*) Anzeige aller Child Facets mit Parent = 017 Parent / Child Auswahl für 004.012 sectionmain und sectionsub sind Multi Valued, Anzeige der weiteren Facet Values < lst name = &quot;facet_counts&quot; > < lst name = &quot;facet_queries&quot; /> < lst name = &quot;facet_fields&quot; > < lst name = &quot;sectionmain&quot; > < int name = &quot;017&quot; > 27 </ int > < int name = &quot;004&quot; > 12 </ int > < int name = &quot;005&quot; > 3 </ int > < int name = &quot;013&quot; > 3 </ int > </ lst > < lst name = &quot;sectionsub&quot; > < int name = &quot;017.091&quot; > 13 </ int > < int name = &quot;004.012&quot; > 12 </ int > < int name = &quot;017.130&quot; > 8 </ int > < int name = &quot;017.129&quot; > 5 </ int > < int name = &quot;013.052&quot; > 3 </ int > < int name = &quot;005.027&quot; > 2 </ int > < int name = &quot;005.044&quot; > 1 </ int > < int name = &quot;017.083&quot; > 1 </ int > </ lst > </ lst > </ lst >
  • 25. Response Time Solr Request Response Time für Facetierung mit Selektion von Values ist auch für grosse Datenmengen (> 1 Mio) kleiner als 10 ms Auch in Verbindung mit Semantic Search/Volltextsuche bleibt die Response Time hoch performant Caching der Filter Queries, Autowarming der Caches nach insert von Daten
  • 26. Faceted Search Facts I Ein klickbarer Prototyp hilft die vielfältigen Möglichkeiten der Datenanalyse zu diskutieren Die Komplexität der Datenanalyse ist vor dem User zu verbergen Default Ranges, [A-Z] Buckets, Suggest und Hierachische Facets verwenden Komplexität der Faceted Search, Analyse, Tricks
  • 27. Faceted Search Facts II Mehrfachselektion ist bei Single Value Feld gut einsetzbar Mehrfachselektion auf Multivalue Felder wir im Allgemeinen schlecht verstanden Eine grosse Menge an Facet Values ist eine Herausforderung für die Usability Enfach/Mehrfach Selektion von Facet Values
  • 28. Beyond Faceting Semantic Search Multilanguage Analyzing / Data Processing Scaleability / Cloud Big / Small Data Management Recommendation Engine Machine Learning Matching Categorisation Autosuggest Spell Checking More Like This Result Highlighting Geo-Search Flexible Ranking
  • 29. Slides: http://e-byz.ch http://spectromedia.ch Walter Schärer verantwortet als Senior Projektleiter Internetprojekte unterschiedlicher Ausprägung. Daniel Nydegger ist als Software Architekt und Senior Entwickler für die Umsetzung von Webapplikationen im Open Source Umfeld tätig. https://www.xing.com/profile/Walter_Schaerer https://www.xing.com/profile/Daniel_Nydegger3 Web-Beispiele für Multi-Faceted-Navigation: www.vacando.ch www.migros-ferien.ch www.jobwinner.ch www.movies.ch www.tutti.ch fundlab.credit-suisse.com