Websites mit Guided Navigation  Walter Schärer / Daniel Nydegger über Faceted Search
 
 
 
 
 
 
Wann eignet sich eine  Facettierte Suche? <ul><li>Art des Datenbestandes </li></ul><ul><ul><li>Gut strukturierte Daten (Me...
Wie setzt man eine  Guided Navigation um? <ul><li>Make or buy? Ein Thema für sich… </li></ul><ul><li>Kauf von Software-Too...
Welche SEO-Aspekte muss man beachten?  <ul><li>AJAX vs. Crawlbarkeit </li></ul><ul><li>URL-Struktur / Multiple Content </l...
Welche Usability-Vorgaben sollte man befolgen? <ul><li>AJAX vs. Crawlbarkeit... </li></ul><ul><li>Ausprägung der Facetten ...
Daniel Nydegger Software Architekt / Senior Entwickler  Webapplikationen im Open Source Umfeld
Lucene / Solr <ul><li>Solr ist eine Enterprise Search Plattform </li></ul><ul><li>Bietet alle Möglichkeiten einer modernen...
Data Processing
Auschnitt Solr Index <ul><li>Einzelne oder mehrere Werte für eine Facete in einem Dokument </li></ul><ul><li>Die Felder en...
Einfache Facet Abfrage facet.field=branch& facet.sort=count http://.../select/? facet=true &...&indent=on&rows=3&q=*:* All...
Facet Selection fq=branch:(versicherungen OR banken) < lst   name = &quot;facet_counts&quot; > < lst   name = &quot;facet_...
Andere Response Formate fq=branch:(versicherungen OR banken)& wt=json Mit wt=javabin werden serialisierte Objekte erstellt...
Facet Selection mit Exclusion facet.field={!ex=xy}branch& fq={!tag=xy}branch:(versicherungen OR banken) Die nicht selektio...
Multi Facet Selection facet.field=branch& fq=branch:versicherungen& facet.field=region& fq=region:(011 OR 006) 011=Kanton ...
Multi Facet Selection mit Exclusion facet.field= {!ex=xy1}branch& fq={!tag=xy1}branch: versicherungen& facet.field= {!ex=x...
Range Facets facet.field=branch& fq=branch:versicherungen& facet.range=pubdate& facet.range.start= NOW-6DAY/DAY facet.rang...
Facet Queries facet.field=branch& fq=branch:versicherungen& facet.query= pubdate:[NOW-7DAY TO *] facet.query= pubdate:[NOW...
Hierarchische Facets facet.field=sectionmain& fq=sectionmain:(004 OR 017) facet.field=sectionsub& fq=sectionsub: (004.012 ...
Response Time Solr Request <ul><li>Response Time für Facetierung mit Selektion von Values ist auch für grosse Datenmengen ...
Faceted Search Facts I <ul><li>Ein klickbarer Prototyp hilft die vielfältigen Möglichkeiten der Datenanalyse zu diskutiere...
Faceted Search Facts II <ul><li>Mehrfachselektion ist bei Single Value Feld gut einsetzbar </li></ul><ul><li>Mehrfachselek...
Beyond Faceting Semantic Search Multilanguage Analyzing / Data Processing Scaleability / Cloud Big / Small Data Management...
Slides:  http://e-byz.ch http://spectromedia.ch Walter Schärer verantwortet als Senior Projektleiter Internetprojekte unte...
Upcoming SlideShare
Loading in...5
×

Guided Navigation - Beispiele von Schweizer Websites

829

Published on

Guided Navigation setzt sich als Navigationsprinzip auf immer mehr Websites durch. Faceted Search ist der entsprechende Fachbegriff: Dem Surfer wird in der Navigation die Anzahl zur Verfügung stehender Informationen gezeigt. Klickt er in der Navigation weiter, so wird die Trefferliste angepasst und in der Navigation nur noch Optionen dargestellt, für die es effektiv auch Treffer gibt. Die Fehlermeldung “Keine Treffer gefunden” gehört dadurch der Vergangenheit an.

Guided Navigation eignet sich für alle Websites mit strukturierten Daten wie Reiseportale, Autoportale, Jobbörsen, Wohnungsbörsen, etc.

In der Schweiz gibt es bereits zahlreiche Beispiele von Websites mit gut gemachter Guided Navigation.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
829
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Guided Navigation - Beispiele von Schweizer Websites"

  1. 1. Websites mit Guided Navigation Walter Schärer / Daniel Nydegger über Faceted Search
  2. 8. Wann eignet sich eine Facettierte Suche? <ul><li>Art des Datenbestandes </li></ul><ul><ul><li>Gut strukturierte Daten (Metainformationen) </li></ul></ul><ul><ul><li>Viele Daten </li></ul></ul><ul><li>Zielpublikum </li></ul><ul><ul><li>Web Savvy? </li></ul></ul><ul><ul><li>Stöbern nach Informationen </li></ul></ul>
  3. 9. Wie setzt man eine Guided Navigation um? <ul><li>Make or buy? Ein Thema für sich… </li></ul><ul><li>Kauf von Software-Tools wie Endeca.com (vacando, migros) </li></ul><ul><li>Entwicklung mit OpenSource via Lucene / Solr / Lucid (jobwinner) </li></ul><ul><li>Entwicklung mit PHP (movies.ch) </li></ul>
  4. 10. Welche SEO-Aspekte muss man beachten? <ul><li>AJAX vs. Crawlbarkeit </li></ul><ul><li>URL-Struktur / Multiple Content </li></ul><ul><li>http://vacando.ch/italien </li></ul><ul><li>http://vacando.ch/alberobello/apulien/italien </li></ul>
  5. 11. Welche Usability-Vorgaben sollte man befolgen? <ul><li>AJAX vs. Crawlbarkeit... </li></ul><ul><li>Ausprägung der Facetten je nach Thema </li></ul><ul><li>Wie knifflig ist die Bedienung? </li></ul><ul><li>Komplexität von Cross- und Up-Selling </li></ul><ul><li>Beherrscht man eine Business-Rule-Engine? </li></ul>Inline Expand Scrolling Neue Seite Dynamisches Menu Paging Auto Complete Kombinationen davon…
  6. 12. Daniel Nydegger Software Architekt / Senior Entwickler Webapplikationen im Open Source Umfeld
  7. 13. Lucene / Solr <ul><li>Solr ist eine Enterprise Search Plattform </li></ul><ul><li>Bietet alle Möglichkeiten einer modernen Suche </li></ul><ul><li>Hochskalierbar und weit verbreitet </li></ul><ul><li>Big and Small Data Solutions </li></ul><ul><li>Basiert auf Apache Lucene </li></ul>
  8. 14. Data Processing
  9. 15. Auschnitt Solr Index <ul><li>Einzelne oder mehrere Werte für eine Facete in einem Dokument </li></ul><ul><li>Die Felder enthalten die analysierten Werte </li></ul><ul><li>Text, numerische und Date Werte </li></ul>
  10. 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 >
  11. 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
  12. 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;:{}}}
  13. 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 >
  14. 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 >
  15. 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 >
  16. 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 >
  17. 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 >
  18. 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 >
  19. 25. Response Time Solr Request <ul><li>Response Time für Facetierung mit Selektion von Values ist auch für grosse Datenmengen (> 1 Mio) kleiner als 10 ms </li></ul><ul><li>Auch in Verbindung mit Semantic Search/Volltextsuche bleibt die Response Time hoch performant </li></ul>Caching der Filter Queries, Autowarming der Caches nach insert von Daten
  20. 26. Faceted Search Facts I <ul><li>Ein klickbarer Prototyp hilft die vielfältigen Möglichkeiten der Datenanalyse zu diskutieren </li></ul><ul><li>Die Komplexität der Datenanalyse ist vor dem User zu verbergen </li></ul><ul><li>Default Ranges, [A-Z] Buckets, Suggest und Hierachische Facets verwenden </li></ul>Komplexität der Faceted Search, Analyse, Tricks
  21. 27. Faceted Search Facts II <ul><li>Mehrfachselektion ist bei Single Value Feld gut einsetzbar </li></ul><ul><li>Mehrfachselektion auf Multivalue Felder wir im Allgemeinen schlecht verstanden </li></ul><ul><li>Eine grosse Menge an Facet Values ist eine Herausforderung für die Usability </li></ul>Enfach/Mehrfach Selektion von Facet Values
  22. 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
  23. 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
  1. ¿Le ha llamado la atención una diapositiva en particular?

    Recortar diapositivas es una manera útil de recopilar información importante para consultarla más tarde.

×