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

Boolesche Abfragen definieren

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Filter sowie Must- und Should-Kriterien erlauben es Ihnen, eine komplexe Suchanfrage zu definieren. Dabei versucht Elasticsearch die Ergebnisse optimal auf Ihre Anforderungen abzustimmen.

Transkript

Beim starten einer Suche hat man oft Pflicht-Angeben wie beispielsweise, dass man erwartet, dass ein Film von einem bestimmten Genre, wie beispielsweise Horror ist, als auch optionale Angaben. Wie das ein Film idealerweise aus dem Jahreszeitraum ab 2000 stammt. "Elasticsearch" bezeichnet diese Art von Suchanfragen als Boolische Kriterien. Und in diesem Video werden Sie lernen, wie Sie anhand dessen die Suchkriterien einschränken können. Dafür befülle ich meinen Index "Movies inetial" mit den 250 besten Filmen auf IMDB. Sobald diese gespeichert sind, definiere ich nun eine Anfrage, die auf dem Kriterium "bool" basiert. Unterhalb von "bool" kann ich nun optionale Anforderungen spezifizieren. Mit der Instruktion "should". "should" bekommt nun eine menge von Anfragen innerhalb eines solchen areas also einer Liste. Dort verwende ich dann die übliche query Syntax, wie beispielsweise "Match". Ich möchte also nun, dass entweder ein Film von Genre "Crime" ist oder vom Genre "Drama" oder das der Film neuer ist, als das Jahr 2000. Das bedeutet, dass wenn ich nun hier "minimum_should_match" nicht angebe, sollte ein Film eines dieser 3 Kriterien, keines dieser 3 Kriterien, eventuell alle 3 oder nur 2 erfüllen können, denn alle Angaben hier sind optional. Mit der Angebe von "minimum_should_match" kann ich nun die Anzahl von "should"-Kriterien definieren, die ein Film mindestens erfüllen muss. Definiere ich also hier die Zahl 2, muss er entweder vom Typ "Crime" oder vom Typ "Drama" sein oder die gleiche Kombination mit der Jahreszahl, aber mindestens 2 der 3 Kriterien. Wenn ich alle 3 als "Minimum" definiere hätte ich diese auch als Muss-Kriterien definieren können. Mit der Angabe von 2 definiere ich nun, dass 2 Kriterien zutreffen müssen. Das erste Ergebnis in meiner Liste wurde im Jahre 1931 veröffentlicht. Von daher trifft mein Jahreskriterium nicht zu. Allerdings sind im Genre sowohl "Crime", als auch Drama angegeben. Daher treffen also 2 meiner 3 Kriterien zu. Neben der Angabe "Optionale Kriterien" kann ich auch "Muss-Kriterien" definieren. Dies ist relativ einfach über "must" möglich. Auch hier gebe ich eine Liste von Kriterien an, die anhand der "query Syntax" spezifiziert werden. Ich verlande also, dass ein Film auf jeden Fall vom Genre "Crime" ist und er sollte auch vom Genre "Drama" sein. Dies wird also seinen Score verbessern. Wird aber kein Ausschlusskriterium für ein Ergebnis sein. Zusätzlich kann ich neben "must" und "should" einen sogenannten Filter definieren. Inhaltlich unterscheidet sich der Filter nicht vom "must" Kriterium. Das heißt ein Datensatz muss sowohl den Filter erfüllen, als auch das "must"-Kriterium. Der Hauptsächliche unterschied zwischen beiden ist nun, dass der Filter Dokumente vorselektiert, bevor sie anhand des "must"-Kriteriums gefiltert werden. Aus Performancegründen ist dieses äußerst relevant. Denn durch die Vorselektion kann beim Ausführen der nächsten Abfrage der Filter wieder verwendet werden. Das bedeutet, dass das Heraussuchen einer Dokumente, deren Jahr höher als 2000 ist, auch bei späteren Suchen wieder verwendet wird. Dokumente, die also anhand des Filterkriteriums identifiziert werden, mahnen in den sogenannten "query"- Cache. Betrachte ich nun also die Ergebnisliste dieser Anfrage, so habe ich nun einen Film gefunden, der im Jahre 2000 veröffentlicht wurde. Außerdem vom Typ "Crime" ist. Allerdings hat dieser Film nicht zusätzlich das Genre "Drama". Als Boolische Kriterien in Elasticsearch haben wir nun also zunächst einmal den Filter kennengelernt. Mit dem Filter können wir eine Vorselektion unserer Dokumente treffen, die auch anhand des query Caches zukünftige Anfragen schnell beantworten kann. Pflicht-Angaben für unsere Abfrage konnten wir zusätzlich dann mit "must" definieren. Optionale Abfragen werden mit "should" abgebildet. Zusätzlich können wir für optionale Abfragen auf die Anzahl dieser definieren die mindestens zutreffen müssen. Dabei ist es allerdings egal welche genau.

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
Erscheinungsdatum:23.02.2017

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!