Daten nach arte D oder arte FR filtern
-
Guten Tag, bagbag,
ich habe in dem Forum gelesen, daß MediathekViewWeb
- in der aktuellen Fassung keine regulären Ausdrücke unterstützt,
- die Vorbereitungen auf eine nächste Version laufen.
Vielleicht ist folgender Hinweis daher überflüssig:
Soll die Sendungsliste gefiltert werden entweder nach arte Deutschland oder arte Frankreich, muß dem Punkt zwischen “arte” und dem Länderkürzel ein umgekehrter Schrägstrich (\) vorangestellt werden, ähnlich wie bei einem regex:
Erforderlich für eine erfolgreiche Filterung ist also die Eingabe von
- !arte\.de
- !arte\.fr
Die Eingabe ohne den Schrägstrich liefert keine Treffer, die Tabelle bleibt leer.
Grüße
Sina.
-
@Sina
Noch ein kleiner Hinweis zu ARTE: Scheinbar wurde der Crawler geändert, denn gestern tauchten massenweise neue Sendungen in der Filmliste auf, darunter auch sehr viele französische im ARTE.DE. Da hat der Crawler entweder ARTE DE und FR zusammen geworfen oder ARTE trennt die Sprachen nicht sauber. -
Ich habe Deinen Hinweis in dem entsprechenden thread eben gelesen, danke sehr.
Die vorübergehende Situation einer Sprachenvermischung zwischen arte D und arte FR hat es in der Vergangenheit schon einmal gegeben nach Arbeiten an dem Crawler, wenn ich mich richtig erinnere.
Die Notwendigkeit eines Schrägstriches vor dem Punkt zum getrennten Aufruf von arte D oder arte FR auf MediathekViewWeb war übrigens schon vor der Crawleranpassung gegeben.
Danke für den sehr raschen und freundlichen Support hier!
-
Hallo Sina,
ja, dass ein einfacher Punkt momentan nicht funktioniert ist bekannt und in der neuen Version ist ein escapen des Punkts dann auch nicht mehr nötig. Interessanterweise wusste ich bis gerade nicht mal, dass das funktioniert .
Ob ich Reguläre Ausdrücke einbaue weiß ich noch nicht sicher, da es unter Umständen doch ziemlich den Server belasten könnte. Das muss ich mir aber noch genauer anschauen wie ich oder Elasticsearch das limitieren kann. Testen werde ich es jedoch sicher einmal.
Wenn man einfach !arte.de|fr eingibt, interpretiert MVW das als “es muss arte und fr vorkommen”, da das ganze als “Edge NGram”** indiziert ist, trifft zwar arte, jedoch nicht fr zu.
Ich danke dir trotzdem für deinen Hinweis :slight_smile:
** Edge NGram macht aus “arte.fr” folgende Vektoren, nach denen gesucht werden kann:
- a
- ar
- art
- arte
- arte.
- arte.f
- arte.fr
-
Danke für die ausführliche Erklärung. Ich verstehe die Komplexität hinter dem Projekt jetzt ein bißchen besser.
Falls alternativ die Implementierung von booleschen Ausdrücken in Betracht gezogen werden könnte für den Fall, daß sich Regex als zu Ressourcen-fordernd erweisen, wäre das, zumindest für meine typischen Suchanfragen, klasse.
Sina
-
Genau dafür gibt es bereits die Datenstruktur, sie heißt sogar genau so: https://github.com/mediathekview/mediathekviewweb/blob/development/common/src/search-engine/query/builder/bool.ts
Ich weiß nur noch nicht sicher wie der Syntax dafür dann aussehen soll. Bis jetzt ist ein ^ wie bei Regex mein Favorit für ein “not”, | für “should” (in etwa ein or), must wie bisher ohne modifier, und “filter” (auch ein not) wird intern für bspw Datum genutzt. Wie das filtern nach Datum, Zeit, Dauer, Größe, Bewertung etc. aussehen soll weiß ich auch noch nicht sicher. Vielleicht hast du eine Idee dafür?
“!arte.de ^!arte.fr |#“terra x” |#journal t:>5m”
oder
“!arte.de ^!arte.fr #“terra x” | #journal t:>5:00 d.:17.08-25.08” (. beim Datum filter wegdenken - sonst würde es als smiley angezeigt)
oder…Es gibt so viele mögliche Varianten und das synchronisieren mit der “einfachen Suche” (über mehrere Eingabefelder und checkboxen, wie mehrfach gewünscht) stelle ich mir auch spaßig zu implementieren vor