Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Elasticsearch Grundkurs

Suchergebnisse über Sortieren und Pagination ausgeben

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Suchergebnisse können sortiert und über eine partielle Auswahl dargestellt werden. Was genau sich hinter dieser etwas "geheimnisvollen" Aussage verbirgt, erfahren Sie in diesem Film.

Transkript

Typischerweise beschäftigt man sich beim Durchsuchen von Dokumenten mit 2 Dingen. Mit dem Sortieren dieser Dokumente, als auch der Ausgabe der Dokumente über mehrere Seiten hinweg, um durch diese Dokumente navigieren zu können. Diese Prinzipien heißen also Elasticsearch, "Pagination" als auch Sortieren oder auch Sortoperationen. Und wie Sie genau diese anhand der Elasticsearch API benutzen können, erfahren Sie im Laufe dieses Videos. Zunächst einmal lade ich alle Datensätze in meine Elasticsearch. Bei meinen Datensätzen handelt es sich um die 250 bestbewerteten Filme auf IMDb. Als nächstes beginne ich nun mit der "Pagination". D.h. ich möchte nun meine Ergebnisse in kleine Teile zerteilen. Ich könnte nun bei einer Suchanfrage neben der query Syntax als solches die Angabe "from" und "size" machen. Mit "size" definiere ich also die Menge an Dokumenten, die ich in meinem Ergebnis sehen möchte. Führe ich also nun solch eine Suchanfrage aus, erhalte ich die ersten 2 Dokumente, die meiner Suchspezifikation entsprechen. Erhöhe ich nun die Zahl 0 auf 1 und suche wieder nach den 2 Dokumenten, bekomme ich nun nicht die erste Seite, sondern beginnend ab Dokument Nummer 1. Das bedeutet ich bekomme immer noch das zweite Dokument aus meiner vorherigen Suchanfrage, als auch das folgende Dokument. Wenn ich also eine Pegination abbilden möchte, muss ich immer mein "from" um die Anzahl der Größe inkrementieren, die ich auch vorher gesucht habe. Das bedeutet Seite 1 beginnt also ab 0, Seite 2 beginnt ab 2. Seite 3 beginnt folglich ab 4 usw. An der Stelle sei noch bemerkt, dass Elasticsearch für diese Art von Pagination keine Garantie übernimmt. Das bedeutet, dass durch Änderungen innerhalb des Index und der Suchanfrage sich diese Werte durchaus verschieben können. Es könnte also passieren, dass beim Navigieren durch die Seiten bestimmte Dokumente mehrfach auftauchen, dadurch, dass sie sich im Laufe der Zeit verschoben haben. Um eine korrekte Pagination garantieren zu können, benutzt Elasticsearch den Mechanismus des Scallings, welcher nicht Gegenstand dieses Videos ist. Neben der Einschränkung der Menge meiner Ergebnisse kann ich nun also auch eine Sortierung angeben. Diese bietet sich besonders bei numerischen Werten sehr an. Und da Indices in Elasticsearch in einer solchen Struktur gespeichert werden, sind diese Abfragen auch äußerst performan. Beispielsweise könnte ich nun also nach der Jahreszahl absteigend sortieren. In meinem Beispiel bedeutet das, der neueste Film nach der Jahreszahl ist aus dem aktuellen Jahr 2016. Üblicherweise sind solche Sortierungen auf Datenbanken die teuerste Operation, die man durchführen kann. Auf der Basis von Elasticsearch ist eine solche Sortierung allerdings meistens sehr effizient durchzuführen. Übrigens kann man auch die Ergebnisse und deren angezeigte Felder einschränken. Hierfür kann ich auf dem "source" Feld, "Zusätzlich" - "das Feld definieren", das mich interessiert. Beispielsweise möchte ich nur die Titel dieser Filme sehen. In diesem Beispiel nun also "Zootopia" als auch "Hacksaw Ridge". In meinem soeben gezeigten Beispiel habe ich also die Größe meiner Ergebnisseite über das Attribut "size" geregelt. Die Seitenzahl konnte ich über "from" regeln. Allerdings spezifiziere ich hier die absolute Verschiebung der Dokumente und nicht eine konkrete Seitenzahl als solches. Um zu garantieren, dass die Pagination immer konsistent ist mit meinen Datensätzen, muss ich allerdings die Alternative, das sogenannte Scrolling verwende. Sortieren können Sie dann auf Feldebene. Entweder aufsteigend mit der Angabe ASC für ascending, als auch absteigend für desscending mit "desc". Da die Sortierung in Form einer Liste angegeben wird, können Sie selbstverständlich auch nach mehreren Feldern gleichzeitig sortieren.

Elasticsearch Grundkurs

Lernen Sie, Elasticsearch und seine Einsatzgebiete zu verstehen und mit der API zu interagieren.

2 Std. 19 min (23 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Themen:
Programmierung
Exklusiv für Abo-Kunden
Ihr(e) Trainer:
Erscheinungsdatum:23.02.2017
Laufzeit:2 Std. 19 min (23 Videos)

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!