Wie kann ich eine intelligente Sammlung erstellen, die in Lightroom 3 nur nach * einem * bestimmten Schlüsselwort sucht?

8

Ich glaube, ich kenne meinen Lightroom ziemlich gut, aber ich konnte keine Möglichkeit finden, eine intelligente Sammlung zu erstellen, die Fotos mit nur einem bestimmten Schlüsselwort zurückgibt . Nur einer. Angenommen, alle Fotos enthalten nur das Schlüsselwort "foo", keine anderen Schlüsselwörter.

Die einzige Lösung, die ich fand, war:

  1. Erstellen Sie eine intelligente Sammlung, die Fotos mit dem angegebenen Schlüsselwort "foo" zurückgibt.
  2. Wählen Sie alle Fotos aus und fügen Sie sie zur Sicherung einer anderen Sammlung hinzu (z. B. "temporär").
  3. entferne das angegebene Schlüsselwort 'foo' von den Fotos,
  4. Erstellen Sie eine intelligente Sammlung, die die Fotos zurückgibt, die keine Schlüsselwörter enthalten . Dies sollte alle Fotos zurückgeben, die nur das Schlüsselwort 'foo' hatten, bevor ich es im vorherigen Schritt entfernt habe. Leider werden auch alle Fotos zurückgegeben, die vor Schritt 3 keine Schlüsselwörter hatten , aber das ist in Ordnung, ich habe keine solchen Fotos.
  5. Machen Sie etwas mit den in Schritt 4 zurückgegebenen Fotos, gehen Sie dann zur "temporären" Sammlung und fügen Sie das Schlüsselwort "foo" zurück.

Langweilig.

sebastien.b
quelle
1
Es tut mir leid, ich habe keine Antwort, ich möchte nur sagen, ich wünsche mir, dass mehr Tools echtes SQL als Abfragesprache akzeptieren;)
gerikson
Ich habe mir den Kopf zerbrochen, aber ich kann keinen Weg finden, dies zu tun. Die Filtersyntax scheint zu begrenzt. : - \
Craig Walker
Mehr Graben: Es scheint, dass es in LR3 keine Möglichkeit gibt, nach "enthält Tags, die nicht X sind" zu filtern. Sie können nur "enthält kein Tag X". Ohne Ersteres gibt es keine Möglichkeit, das zu erreichen, wonach Sie suchen.
Craig Walker
Es gibt auch die offensichtlich fehlende Funktionalität "Schlüsselwort ist gleich X" - Sie können Schlüsselwörter finden, die X enthalten, aber wenn Sie Schlüsselwörter "Erdnuss" und "Erdnussbutter" haben, können Sie nicht nur die genaue Übereinstimmung "Erdnuss" finden.
Jason S
Danke Jungs, ja, ich bin bisher zu den gleichen Schlussfolgerungen gekommen, aber ich dachte, ich würde immer noch auf photo.se fragen, falls ich wirklich einen Ninja-Trick verpasst habe. Ich muss in meiner Freizeit ein Plugin schreiben :)
sebastien.b

Antworten:

7

@gerikson:

Es tut mir leid, ich habe keine Antwort, ich möchte nur sagen, dass ich mehr Tools wünschte, die echtes SQL als Abfragesprache akzeptieren;)

Aber technisch können Sie dies tun. Der Lightroom-Katalog ist eine SQLite-Datenbank. Versuchen Sie, ihn mit dem SQLite Manager-Addon von Firefox zu durchsuchen , und Sie werden sehen, dass er ziemlich einfach ist.

Sie können dies in Lua tun, indem Sie eine Erweiterung schreiben - leider habe ich diesen Schritt nicht durchlaufen, daher bin ich mir nicht sicher, wie ich es tun soll.

Wenn Sie nicht benötigen, dass es sich um eine automatisch aktualisierte Sammlung handelt, wie intelligente Sammlungen funktionieren, sondern ab und zu ein Skript ausführen können, können Sie ein externes Tool schreiben, um die SQLite-Datenbank nach Ihren Wünschen abzufragen Erstellen Sie eine XML-Datei für intelligente Sammlungen, die explizit die betreffenden Fotos enthält, und importieren Sie diese in Lightroom. (Ich musste das letzte Stück selbst machen - siehe diese Frage )


Ich habe gerade diese Auswahlabfrage ausprobiert und sie funktioniert hervorragend:

 SELECT 
    img.id_local AS imageID, 
    kwdef.name AS keyword,
    img.rootFile AS fileID,
    files.originalFilename 
 FROM AgLibraryKeywordImage kwimg
 JOIN Adobe_images img
    ON img.id_local = kwimg.image
 JOIN AgLibraryFile files 
    ON img.rootFile = files.id_local
 JOIN AgLibraryKeyword kwdef
    ON kwdef.id_local = kwimg.tag
 GROUP BY kwimg.image
    HAVING COUNT(*)=1
      AND kwdef.name = ?

wo solltest du entweder das ersetzen? mit einem Schlüsselwortnamen (zB 'foo') oder als vorbereitete Anweisung ausführen. Die GROUP BYKlausel macht die Magie: Diese gruppiert die Ergebnisse nach Bild und HAVING COUNT(*)=1weist SQL an, die Ausgabe auf Bilder mit 1 Datensatz zu beschränken.

Diese Abfrage funktioniert wahrscheinlich nicht ganz richtig für Bilder mit Stapeln. In diesem Fall muss sie geändert werden, um sicherzustellen, dass alle JOINs eins zu eins sind (mit Ausnahme der Schlüsselwort-Bildtabelle).

Jason S.
quelle
Ja, das können Sie, obwohl ich sagen würde, dass die Schritte, die ich in meinen Fragen beschrieben habe, wahrscheinlich einfacher sind, oder? Vielen Dank.
sebastien.b
einfacher aber manuell. Ich habe einen laufenden Groll gegen Computersoftware, der mich zwingt, wiederholt Anstrengungen zu unternehmen, die automatisch durchgeführt werden könnten.
Jason S
3

Ich habe dies in LR 4 versucht: Schlüsselwort enthält "mykeyword" UND Schlüsselwort enthält nicht "abcdfghijklnpqstuvxz"

wobei die 2. Zeichenfolge alle Buchstaben NICHT in "mykeyword" enthält

nicht perfekt, aber es ist ein schneller und schmutziger Hack, der meistens funktioniert.

Richard Soenneker
quelle
Dies war die am wenigsten schlimmste Option für mich. Ich musste Leerzeichen zwischen die Buchstaben setzen, damit dies funktioniert.
Alx9r
1

alle. Ich habe einen Weg gefunden, dies zu tun. Nicht elegant, aber es funktioniert ganz gut.

Gehen Sie zunächst zu Alle Fotos in Ihrem Katalog und wählen Sie alle Ihre Fotos aus. Im rechten Bereich unter Schlüsselwort sehen Sie ein Textfeld unter Schlüsselwort-Tags mit ALLEN gefundenen Schlüsselwörtern (meistens gefolgt von einem Sternchen). Kopieren Sie den gesamten Text und fügen Sie ihn in einen Texteditor ein.

Entfernen Sie nun alle Sternchen (ich verwende find / replace, um dies zu vereinfachen) sowie die Schlüsselwörter, auf die Sie Ihre Suche beschränken möchten. Wenn Sie fertig sind, kopieren Sie den gesamten verbleibenden Text.

Erstellen Sie jetzt eine intelligente Sammlung. Fügen Sie eine Regel für "Keyword" hinzu. "Enthält" "Einzelne oder mehrere Keywords, nach denen Sie suchen möchten".

Fügen Sie als Nächstes eine Regel für "Schlüsselwort" "Enthält nicht" hinzu und fügen Sie den bearbeiteten Text ein. Voila. Adobe hätte das wirklich durchdenken sollen, aber es ist Adobe ...

Parrish
quelle
ick. Und dann müssen Sie diese intelligente Sammlung jedes Mal bearbeiten, wenn Sie ein neues Schlüsselwort hinzufügen. :(
cabbey
Interessant, leider für mich nicht funktioniert, ich habe eine große Anzahl von Schlüsselwörtern. Das Kopieren und Einfügen in einen Texteditor und das Speichern der Datei führt zu einem 45- KB- Monster. Das sind viele Schlüsselwörter. In Lightroom kann ich nicht alle als intelligente Sammlungsregel eingeben. Interessante Idee, danke.
sebastien.b
0

Theoretisch sollten Sie dies mit den Filtern "beginnt mit" und "endet mit" tun können. Grundsätzlich bauen Sie es als:

matches ALL  
keyword  starts with  YourOneKeyWord  
keyword  ends with    YourOneKeyWord

Aber das scheint nicht zu funktionieren. :(

cabbey
quelle
Ja, ich hatte das versucht und nicht funktioniert.
sebastien.b
Ich habe jemanden im LR-Team angerufen, wir werden sehen, ob er mit Weisheit für uns vorbeischaut.
Cabbey
Danke. Ich hätte sooooooo viele Fragen an jeden im LR-Team :) Der Flickr Publish-Service macht mich verrückt.
sebastien.b
funktioniert das jetzt mit lightroom 3.4? Ich habe eine intelligente Sammlung mit "beginnt mit" und "endet mit" "flickr" eingerichtet und es werden nur die Fotos mit genau "flickr" zurückgegeben, mit Ausnahme eines Fotos, das ich mit dem Dummy-Schlüsselwort "flickrzzz" hatte.
Rapscalli
Nein, auch mit LR 3.5 schlägt dies fehl. Ich bin mir nicht sicher, wie, aber die Definition von "beginWith" in Adobe scheint nicht mit der Definition übereinzustimmen, die die meisten Leute verwenden würden.
Cabbey