+ All Categories
Home > Technology > Guided Navigation - Beispiele von Schweizer Websites

Guided Navigation - Beispiele von Schweizer Websites

Date post: 05-Dec-2014
Category:
Upload: walter-schaerer
View: 918 times
Download: 1 times
Share this document with a friend
Description:
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.
29
Websites mit Guided Navigation Walter Schärer / Daniel Nydegger über Faceted Search
Transcript
Page 1: Guided Navigation - Beispiele von Schweizer Websites

Websites mit Guided Navigation Walter Schärer / Daniel Nydegger über Faceted Search

Page 2: Guided Navigation - Beispiele von Schweizer Websites
Page 3: Guided Navigation - Beispiele von Schweizer Websites
Page 4: Guided Navigation - Beispiele von Schweizer Websites
Page 5: Guided Navigation - Beispiele von Schweizer Websites
Page 6: Guided Navigation - Beispiele von Schweizer Websites
Page 7: Guided Navigation - Beispiele von Schweizer Websites
Page 8: Guided Navigation - Beispiele von Schweizer Websites

Wann eignet sich eine Facettierte Suche?

• Art des Datenbestandes–Gut strukturierte Daten

(Metainformationen)–Viele Daten

• Zielpublikum–Web Savvy?–Stöbern nach Informationen

Page 9: Guided Navigation - Beispiele von Schweizer Websites

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)

Page 10: Guided Navigation - Beispiele von Schweizer Websites

Welche SEO-Aspekte muss man beachten?

• AJAX vs. Crawlbarkeit

• URL-Struktur / Multiple Content• http://vacando.ch/italien

• http://vacando.ch/alberobello/apulien/italien

Page 11: Guided Navigation - Beispiele von Schweizer Websites

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 ExpandScrollingNeue SeiteDynamisches MenuPagingAuto CompleteKombinationen davon…

Page 12: Guided Navigation - Beispiele von Schweizer Websites

Daniel Nydegger

Software Architekt / Senior Entwickler

Webapplikationen im Open Source Umfeld

Page 13: Guided Navigation - Beispiele von Schweizer Websites

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

Page 14: Guided Navigation - Beispiele von Schweizer Websites

Data Processing

Page 15: Guided Navigation - Beispiele von Schweizer Websites

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

Page 16: Guided Navigation - Beispiele von Schweizer Websites

Einfache Facet Abfrage

facet.field=branch&facet.sort=count

http://.../select/?facet=true&...&indent=on&rows=3&q=*:*

Allgemeine Struktur des Requests

<lst name="facet_counts"> <lst name="facet_fields"> <lst name="branch"> <int name="humanresources">172</int> <int name="versicherungen">59</int> <int name="baugewerbeimmobilien">22</int> <int name="industrieallgemein">19</int> <int name="verbaendeorganisationen">19</int> ... ... <int name="grosshandel">2</int> <int name="elektronikelektrotechnik">1</int> <int name="fahrzeugmarkt">1</int> <int name="freizeitkultursport">1</int> <int name="gastgewerbehotellerietourismus">1</int> <int name="oeffentlicheverwaltung">1</int> </lst> </lst></lst>

Page 17: Guided Navigation - Beispiele von Schweizer Websites

Facet Selection

fq=branch:(versicherungenOR banken)

<lst name="facet_counts"> <lst name="facet_fields"> <lst name="branch"> <int name="versicherungen">59</int> <int name="banken">18</int> ... <int name="anlagemaschinenmetallbau">0</int> <int name="aviatiklogistiktransportverkehr">0</int> <int name="baugewerbeimmobilien">0</int> <int name="biotechnologiechemiepharma">0</int> <int name="detaileinzelhandel">0</int> <int name="dienstleistungenallgemein">0</int> ... ... <int name="verbaendeorganisationen">0</int> </lst> </lst></lst>

Multiselection innerhalb Facet mit OR Verknüpfung

Nicht selektionierte Facets werden mit count = 0 zurück gegeben

Page 18: Guided Navigation - Beispiele von Schweizer Websites

Andere Response Formate

fq=branch:(versicherungenOR banken)&wt=json

Mit wt=javabin werden serialisierte Objekte erstellt

"facet_counts":{ "facet_queries":{}, "facet_fields":{ "branch":[ "versicherungen",59, "banken",18, ... "anlagemaschinenmetallbau",0, "aviatiklogistiktransportverkehr",0, "baugewerbeimmobilien",0, "biotechnologiechemiepharma",0, "detaileinzelhandel",0, "dienstleistungenallgemein",0, ... ... "verbaendeorganisationen",0]}, "facet_dates":{}, "facet_ranges":{}}}

Page 19: Guided Navigation - Beispiele von Schweizer Websites

Facet Selection mit Exclusion

facet.field={!ex=xy}branch&fq={!tag=xy}branch:(versicherungenOR banken)

Die nicht selektionierten Facet Values befinden sich auch in der Facet Response

Die Query Results entsprechen der Selektion

<lst name="facet_counts"> <lst name="facet_fields"> <lst name="branch"> <int name="humanresources">172</int> <int name="versicherungen">59</int> <int name="baugewerbeimmobilien">22</int> <int name="industrieallgemein">19</int> <int name="banken">18</int> ... ... <int name="grosshandel">2</int> <int name="elektronikelektrotechnik">1</int> <int name="freizeitkultursport">1</int> <int name="oeffentlicheverwaltung">1</int> </lst> </lst></lst>

Page 20: Guided Navigation - Beispiele von Schweizer Websites

Multi Facet Selection

facet.field=branch&fq=branch:versicherungen&

facet.field=region&fq=region:(011 OR 006)

011=Kanton Zürich006=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="facet_counts"> <lst name="facet_fields"> <lst name="branch"> <int name="versicherungen">25</int> ... <int name="anlagemaschinenmetallbau">0</int> <int name="aviatiklogistiktransportverkehr">0</int> <int name="banken">0</int> ... <int name="verbaendeorganisationen">0</int> </lst> <lst name="region"> <int name="011">19</int> <int name="006">6</int> ... <int name="003">0</int> <int name="010">0</int> <int name="013">0</int> </lst> </lst></lst>

Page 21: Guided Navigation - Beispiele von Schweizer Websites

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="facet_counts"> <lst name="facet_fields"> <lst name="branch"> <int name="humanresources">121</int> ... <int name="versicherungen">25</int> ... <int name="banken">13</int> <int name="informatik">2</int> <int name="freizeitkultursport">1</int> <int name="elektronikelektrotechnik">0</int> </lst> <lst name="region"> <int name="011">19</int> ... <int name="006">6</int> ... <int name="003">5</int> <int name="007">5</int> </lst> </lst></lst>

Page 22: Guided Navigation - Beispiele von Schweizer Websites

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="facet_counts"> <lst name="facet_queries"/> <lst name="facet_fields"> <lst name="branch"> <int name="versicherungen">59</int> </lst> </lst> <lst name="facet_dates"/> <lst name="facet_ranges"> <lst name="searchsubtimestamp"> <lst name="counts"> <int name="2011-12-08T00:00:00Z">4</int> <int name="2011-12-07T00:00:00Z">5</int> <int name="2011-12-06T00:00:00Z">7</int> <int name="2011-12-05T00:00:00Z">3</int> <int name="2011-12-04T00:00:00Z">2</int> <int name="2011-12-03T00:00:00Z">1</int> </lst> </lst> </lst></lst>

Page 23: Guided Navigation - Beispiele von Schweizer Websites

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="facet_counts"> <lst name="facet_fields"> <lst name="branch"> <int name="versicherungen">59</int> </lst> </lst> <lst name="facet_queries"> <int name="pubdate:[NOW-7DAY TO *]">24</int> <int name="pubdate:[NOW-21DAY TO *]">31</int> </lst></lst>

Page 24: Guided Navigation - Beispiele von Schweizer Websites

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 = 017Parent / Child Auswahl für 004.012

sectionmain und sectionsub sind Multi Valued, Anzeige der weiteren Facet Values

<lst name="facet_counts"> <lst name="facet_queries" /> <lst name="facet_fields"> <lst name="sectionmain"> <int name="017">27</int> <int name="004">12</int> <int name="005">3</int> <int name="013">3</int> </lst> <lst name="sectionsub"> <int name="017.091">13</int> <int name="004.012">12</int> <int name="017.130">8</int> <int name="017.129">5</int> <int name="013.052">3</int> <int name="005.027">2</int> <int name="005.044">1</int> <int name="017.083">1</int> </lst> </lst></lst>

Page 25: Guided Navigation - Beispiele von Schweizer Websites

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

Page 26: Guided Navigation - Beispiele von Schweizer Websites

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

Page 27: Guided Navigation - Beispiele von Schweizer Websites

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

Page 28: Guided Navigation - Beispiele von Schweizer Websites

Beyond Faceting

Semantic Search

Multilanguage

Analyzing / Data Processing

Scaleability / Cloud

Big / Small Data Management

Recommendation Engine

Machine LearningMatchingCategorisation

Autosuggest

Spell Checking

More Like This

Result Highlighting

Geo-Search

Flexible Ranking

Page 29: Guided Navigation - Beispiele von Schweizer Websites

Slides: http://e-byz.chhttp://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.chwww.movies.chwww.tutti.chfundlab.credit-suisse.com


Recommended