Lieblingssendungen: Ausschlusskriterien

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.

BBCode ist eingeschaltet
[img] ist eingeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Ansicht erweitern Die letzten Beiträge des Themas: Lieblingssendungen: Ausschlusskriterien

Re: Lieblingssendungen: Ausschlusskriterien

von Sheldon2012 » 29 Dez 2015, 22:21

Für die Erstellung von BeanShell-Filtern sind ein paar Grundkenntnisse in Java-Programmierung erforderlich. Hast Du damit Erfahrung?
Falls Du hier auf Probleme stößt, helfe ich Dir gerne. Schau einfach mal, ob Du damit klarkommst. Unter http://wiki.tvbrowser.org/index.php/BeanShell-Filter%20 findest Du ein paar Beispiele für BeanShell-Filter.

Wenn Du es möchtest und mir für Deinen Anwendungsfall ein realistisches Beispiel nennst, erstelle ich dir auch gerne ein Musterskript, das Du dann weiter verwenden und erweitern kannst. Hierfür würde ich die entsprechenden regulären Ausdrücke und die Properties der Sendungen (Titel, Beschreibung etc. ) benötigen, auf die diese anzuwenden sind.

Re: Lieblingssendungen: Ausschlusskriterien

von georgy » 29 Dez 2015, 21:43

Danke! Die Sache mit der BeanShell werde ich mir mal näher ansehen; dazu muss ich mich aber erstmal einlesen.

--Georg

Re: Lieblingssendungen: Ausschlusskriterien

von Sheldon2012 » 28 Dez 2015, 23:08

Für eine komplexere Problemstellung würde ich Dir die Verwendung einer Filterkomponente vom Typ BeanShel empfehlen.
In dieser kannst Du beliebig viele reguläre Ausdrücke miteinander kombinieren und Du benötigst dann pro Lieblingssendung nur eine solche Filterkomponente. Das sollte langfristig auch übersichtlich sein, wenn Du die Filterkomponente und die Lieblingssendung jeweils gleich benennst. Darüber hinaus wäre dieser Ansatz zukünftig leicht zu erweitern.

Re: Lieblingssendungen: Ausschlusskriterien

von georgy » 28 Dez 2015, 22:52

Danke, die Idee ist mit den Filterkomponenten hatte ich noch nicht berücksichtigt. In der Praxis wird das wahrscheinlich dennoch ziemlich unübersichtlich, weil dann viele einzelne Filterkriterien zu vielen einzelnen Lieblingssendungen "lose" (d.h. ohne direkten Kontakt zur eigentlichen Lieblingssendung) einfach so in der Gegend rumliegen. In meinem Fall habe ich ca. 50-70 Lieblingssendungen und zu jeder mindestens 5-10 derartige Filterkomponenten. Wer soll da nach 3 Jahren noch den Überblick haben? Ich hätte schon lieber alles zusammengehalten direkt bei der einzelnen Lieblingssendung und deren Ausschlusskriterien (die ggf. ziemlich lang werden).

Vielleicht hier nochmal ein etwas realistischeres Beispiel:
Ich suche eine Sendung, die den string "ein" irgendwo (nicht nur im Titel) enthält, aber nicht den Ausdruck "der\p{Alpha}" oder "die\p{Alpha}" oder "als\p{Alpha}". Das kann man natürlich zusammenfassen als "(der|die|als)\p{Alpha}".

Jetzt stelle man sich vor, ich hätte pro Lieblingssendung nicht nur 1 derartigen Ausdruck, sondern 5-10, und das, was ich als "der|die|das" beschrieben habe, sind nicht nur 3-buchstabige Wörter, sondern halbe Sätze - dann wird's schnell unübersichtlich.

Ich frage also nochmal, ob es irgendwie möglich ist, bei den Ausschlusskriterien reguläre Ausdrücke anzugeben, die vom tvbrowser dann auch richtig berücksichtigt (also als Ausschlusskriterium interpretiert) werden. Wenn ja, bitte mit kurzem nachvollziehbarem Beispiel; ich krieg es nicht hin.

--Georg

Re: Lieblingssendungen: Ausschlusskriterien

von Sheldon2012 » 28 Dez 2015, 18:21

Hi,

natürlich führen, wie immer, viele Wege nach Rom! :)

Du kannst z. B. eine Filterkomponente "Meine_Filterkomponente" vom Typ "Schlüsselwort" anlegen.
Dort verwendest Du dann den regulären Ausdruck ".*ein\b" (ohne Anführungszeichen !!!).
Der leifert Dir alle Sendungen, die auf "ein" enden.

Die Option "Wo suchen" setzt Du auf "Nur im Titel"

Mit dieser Filterkomponente erzeugst Du dann einen Filter "Mein_Filter" mit der Kompostion

NICHT
Meine_Filterkomponente

Nun erzeugst Du im Expertenmodus eine Lieblingsendung mit diesem Filter.

Dann enthält diese Liebingsendung alle diejenigen Sendungen, die nicht mit "ein" enden.

Gruß

Shelcon
"

Re: Lieblingssendungen: Ausschlusskriterien

von ds10 » 28 Dez 2015, 18:12

Also wenn ich dich richtig verstehe, dann möchtest du nach (in simpler Suche ausgedrückt) *ein suchen.
Als regulärer Ausdruck müsstest du dann nach .*ein\b suchen. Das wird Wörter wie z.B. Siebenstein oder allein finden, aber z.B. nicht einmal. Umgekehrt würde ein regulärer Ausdruck \bein.*, Wörter wie z.B. einmal, eine finden, aber nicht allein oder Siebenstein.

Die Verwendung von regulären Ausdrücken bei Java ist beschrieben unter:
https://docs.oracle.com/javase/7/docs/a ... ttern.html

Lieblingssendungen: Ausschlusskriterien

von georgy » 28 Dez 2015, 16:33

Hallo,

ich bitte um Hilfe bei der Formulierung eines Ausschlusskriteriums bei den Lieblingssendungen. Das Problem ist Folgendes, stark vereinfacht und natürlich für den täglichen Gebrauch unrealistisch, es zeigt aber das Problem:

Angenommen, ich will als Lieblingssendung alle Sendungen angezeigt bekommen, die im Titel den String "ein" enthalten. (Wer's ausprobieren will, erhält schnell hunderte von Treffern. :-)

Das kann ich zwar mit den booleschen Variante (UND und ODER) hinbekommen. Wenn ich aber ausschließen möchte, dass Wörter, wo das "ein" nicht am Wortende steht, nicht angezeigt werden, dann kann ich das mit der Booleschen Variante aber nicht mehr hinbekommen (ich wüsste jedenfalls nicht, wie).

Also schwenke ich zu den viel mächtigeren regulären Ausdrücken um. Die Suchzeile lautet dann natürlich ".*ein.*" Soweitsogut.
Aber wie muss das Ausschlusskriterium aussehen?
- ".*ein\B.*" funktioniert nicht. (Wird \B überhaupt unterstützt? Habe keine Dokumentation dazu gefunden.)
- "ein\B" funktioniert auch nicht.
- Das "\B" ersetze ich durch das bei Java übliche "\p{Alpha}". Geht auch nicht.
- Den Backslash (\) verdoppeln hilft auch nicht.
- "ein[a-z]" und ".*ein[a-z].*" funktionieren auch nicht, würde aber im Fall, dass das "ein" am Ende des Titels steht, eh nicht helfen. Dann müsste man wahrscheinlich ".*ein([a-z].*|$)" schreiben.

Irnkwie fällt mir jetzt nix mehr ein. Was habe ich übersehen oder falsch gemacht? Unterstützen die Ausschlusskriterien evtl. gar keine regulären Ausdrücke? Wie kann ich das Problem in diesem Fall sonst lösen?

[tvbrowser-3.4.2, wahrscheinlich aber auch in allen älteren Versionen]

--Georg

Nach oben