Bagaimana saya bisa membuat koleksi pintar yang memeriksa hanya * satu * kata kunci yang diberikan di Lightroom 3?

8

Saya rasa saya tahu Lightroom saya cukup baik, tetapi saya tidak bisa menemukan cara untuk membuat koleksi cerdas yang mengembalikan foto yang hanya mengandung satu kata kunci yang diberikan. Hanya satu. Katakanlah, semua foto hanya mengandung kata kunci 'foo', tidak ada kata kunci lain.

Satu-satunya solusi yang saya temukan adalah:

  1. buat koleksi pintar yang mengembalikan foto yang mengandung kata kunci 'foo' yang diberikan,
  2. pilih semua foto dan tambahkan ke koleksi lain (katakan 'temp') untuk cadangan,
  3. hapus kata kunci 'foo' yang diberikan dari foto,
  4. buat koleksi cerdas yang mengembalikan foto yang tidak mengandung kata kunci : ini harus mengembalikan semua foto yang hanya memiliki kata kunci 'foo' sebelum saya menghapusnya di langkah sebelumnya. Sayangnya semua foto yang tidak memiliki kata kunci sebelum langkah 3 akan dikembalikan juga, tetapi tidak apa-apa, saya tidak memiliki foto seperti itu.
  5. lakukan sesuatu dengan foto yang dikembalikan oleh langkah 4, kemudian pergi ke koleksi 'temp' dan tambahkan kata kunci 'foo' kembali.

Membosankan.

sebastien.b
sumber
1
Maaf, saya tidak punya jawaban, saya hanya ingin mengatakan saya ingin lebih banyak alat diterima SQL nyata sebagai bahasa query;)
gerikson
Aku memutar otak, tetapi aku tidak tahu cara untuk melakukan ini; sintaksis penyaringan tampaknya terlalu terbatas. : - \
Craig Walker
Lebih banyak menggali: Tampaknya di LR3 tidak ada cara untuk memfilter untuk "mengandung tag yang bukan X"; Anda hanya dapat melakukan "tidak mengandung tag X". Tanpa yang pertama, tidak ada cara untuk mencapai apa yang Anda cari.
Craig Walker
Juga ada fungsi hilang yang jelas, "kata kunci sama dengan X" - Anda dapat menemukan kata kunci yang mengandung X, tetapi jika Anda memiliki kata kunci "kacang" dan "selai kacang" Anda tidak dapat menemukan hanya "kacang" yang sama persis.
Jason S
Terima kasih teman-teman, ya, saya sampai pada kesimpulan yang sama sejauh ini, tapi saya pikir saya masih akan bertanya di photo.se, kalau-kalau saya benar-benar melewatkan trik ninja. Saya harus menulis sebuah plugin di waktu luang saya :)
sebastien.b

Jawaban:

7

@gerikson:

Maaf, saya tidak punya jawaban, saya hanya ingin mengatakan saya ingin lebih banyak alat diterima SQL nyata sebagai bahasa query;)

Tetapi secara teknis Anda bisa melakukan ini. Katalog Lightroom adalah database SQLite - coba jelajahi dengan addon SQLite Manager Firefox , dan Anda akan melihatnya sangat sederhana.

Anda bisa melakukan ini di Lua dengan menulis ekstensi - sayangnya, saya belum melalui langkah itu jadi saya tidak yakin bagaimana melakukannya.

Jika Anda tidak memerlukannya untuk menjadi koleksi pemutakhiran otomatis cara kerja koleksi pintar, melainkan dapat menangani menjalankan skrip setiap saat, Anda bisa menulis alat eksternal untuk meminta basis data SQLite seperti yang Anda inginkan, dan buat file koleksi cerdas xml secara eksplisit termasuk foto-foto tertentu yang bersangkutan, dan impor itu ke Lightroom. (Saya perlu melakukan bagian terakhir ini sendiri - lihat pertanyaan ini )


Saya baru saja mencoba kueri pemilihan ini dan berhasil:

 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 = ?

di mana Anda harus mengganti? dengan nama kata kunci (mis. 'foo') atau dieksekusi sebagai pernyataan yang disiapkan. The GROUP BYklausul melakukan keajaiban: ini kelompok hasil dengan gambar, HAVING COUNT(*)=1memberitahu SQL untuk membatasi output gambar memiliki 1 record.

Kueri ini mungkin tidak akan berfungsi dengan benar untuk gambar yang memiliki tumpukan, dalam hal ini perlu dimodifikasi untuk memastikan semua JOINs adalah satu-ke-satu (kecuali untuk tabel kata kunci-gambar)

Jason S
sumber
Ya, Anda bisa melakukannya, meskipun saya akan mengatakan langkah-langkah yang saya jelaskan dalam pertanyaan saya mungkin lebih sederhana, bukan? Terima kasih.
sebastien.b
lebih sederhana tapi manual. Saya memiliki dendam terhadap perangkat lunak komputer yang memaksa saya untuk berulang kali menjalankan upaya yang dapat dilakukan secara otomatis.
Jason S
3

Saya mencoba ini, di LR 4: kata kunci berisi "mykeyword" DAN kata kunci tidak mengandung "abcdfghijklnpqstuvxz"

di mana senar kedua adalah semua huruf BUKAN di "mykeyword"

tidak sempurna, tapi ini peretasan cepat dan kotor yang kebanyakan berhasil.

Richard Soenneker
sumber
Ini adalah pilihan yang paling buruk bagi saya. Saya harus meletakkan spasi di antara huruf-huruf alfabet untuk membuatnya berfungsi.
alx9r
1

semua. Saya telah menemukan cara untuk melakukan ini. Tidak elegan, tapi itu bekerja dengan cukup baik.

Pertama, buka Semua Foto di katalog Anda dan pilih semua foto Anda. Di panel kanan, di bawah Keywording, Anda akan melihat kotak teks di bawah Tag Kata Kunci dengan SEMUA kata kunci ditemukan (paling diikuti oleh tanda bintang). Salin semua teks ini dan rekatkan ke editor teks.

Sekarang, hapus semua tanda bintang (saya menggunakan find / replace untuk menyederhanakan ini), serta kata kunci yang ingin Anda batasi pencarian Anda. Setelah selesai, salin semua teks yang tersisa.

Sekarang, buat koleksi cerdas. Tambahkan aturan untuk "Kata Kunci" "Berisi" "Kata Kunci Tunggal atau Banyak yang ingin Anda cari".

Selanjutnya, tambahkan aturan untuk "Kata Kunci" "Tidak mengandung" dan rekatkan teks yang diedit. Voila. Adobe benar-benar harus memikirkan yang satu ini, tetapi itu adalah Adobe ...

Parrish
sumber
ick. Dan kemudian harus mengedit koleksi pintar itu setiap kali Anda menambahkan kata kunci baru. :(
cabbey
Menarik, sayangnya tidak bekerja untuk saya, saya punya banyak kata kunci. Menyalin dan menempelkannya ke editor teks dan menyimpan file mengarah ke monster 45 Kb . Itu kata kunci yang banyak. Lightroom tidak akan membiarkan saya memasukkan mereka semua sebagai aturan pengumpulan cerdas. Ide yang menarik, thx.
sebastien.b
0

Secara teori Anda harus bisa melakukan ini dengan filter "dimulai dengan" dan "diakhiri dengan". Pada dasarnya membangunnya sebagai:

matches ALL  
keyword  starts with  YourOneKeyWord  
keyword  ends with    YourOneKeyWord

Tapi itu sepertinya tidak berhasil. :(

taksi
sumber
Ya, saya sudah mencobanya, tidak berhasil.
sebastien.b
Saya ping seseorang di tim LR, kita akan melihat apakah mereka mampir dengan kebijaksanaan untuk kita.
Cabbey
Terima kasih. Saya akan memiliki begitu banyak pertanyaan kepada siapa pun di tim LR :) Layanan Flickr Publish membuat saya gila.
sebastien.b
apakah ini berfungsi sekarang dengan lightroom 3.4? saya telah membuat koleksi cerdas menggunakan "dimulai dengan" dan "diakhiri dengan" "flickr", dan itu hanya mengembalikan foto-foto itu dengan tepat "flickr", tidak termasuk foto yang saya miliki dengan kata kunci dummy "flickrzzz".
rapscalli
tidak, bahkan dengan LR 3.5 ini masih gagal. Saya tidak yakin bagaimana tetapi definisi Adobe tentang "beginWith" tampaknya tidak cocok dengan yang kebanyakan orang akan gunakan.
cabbey