Spotlight, smarta mappar och booleansk sökning
För att bättre organisera på mitt skrivande fick jag för mig att skapa en så kallad smart mapp, vilken automatiskt skulle plocka fram de ordbehandlingsdokument jag skapat de senaste veckorna. I Finder tryckte jag ?(kringla) + F, valde ”Typ” i första rullisten, ”Andra…” i den andra och bläddrade mig sedan ner till ”Microsoft Word-dokument”. På den andra raden valde jag ”Senast ändrad” och ”Den här månaden”. Voila! Som genom ett trollslag fick jag upp min senaste blygsamma produktion.
Emellertid använder jag inte enbart Word när jag skriver, utan även Apples egna Pages. Man tycker ju att det inte borde vara särskilt komplicerat att komplettera sökningen så att den inkludera dokument skapade även i denna applikation, men tji fick man. Av någon outgrundlig anledning har Apple nämligen skippat det här med booleansk sökning i Spotlights allmänna gränssnitt.
Av pedagogiska skäl ersätter vi för en stund Pages-dokument, med Excel-dokument. Om man då använder sökformulärets rullister för att pussla ihop ledet ”Typ” + ”Microsoft Word-dokument”, trycker på plusknappen och skapar ledet ”Typ” + ”Microsoft Excel-dokument” så har man byggt ekvivalenten till frågan ”Filer som är av typen Microsoft Word och Microsoft Excel”. Detta ger förstås inte några träffar då filer inte kan vara av båda typerna samtidigt.
Jag ville istället ha en smart mapp med kriteriet ”Filer av typen Word-dokument, eller filer av typen Microsoft Excel-dokument”. Just eller är den springande punkten här — OSX publikfriande sökgränssnitt möjliggör nämligen bara frågor där leden sammanbinds på ett sätt som motsvarar den booleanska operatorn ”och/and”.
Lyckligtvis finns det ett sätt att komma runt detta; man kan nämligen ange sin fråga i så kallat ”råformat”. Om man i första rullisten väljer ”Annat..”, bläddra sig ner till ”Råsökning” och sedan skriver (kMDItemKind = '*Microsoft Word-dokument*'cd) || (kMDItemKind = '*Microsoft Excel-dokument*'cd) i textrutan som dyker upp märker man att man har åstadkommit precis det som tidigare ej var möjligt. Med hjälp av eller får man nu upp alla filer som är antingen av Word-, eller Exceltyp.
Det krångliga med denna strategi är förstås att veta vad man skall ange som söksträng. Eftersom jag inte är överdrivet verserad i att extrahera metadata ur filtyper valde jag en enklare, om än mindre elegant, väg. Jag skapade två smarta mappar, som var för sig letade upp Word-filer, respektive Excel-filer. Jag sparade ner dessa sökningar och letade sedan upp dem i Finder. Genom att ctrl-klicka på dessa filer och välja ”Visa info” fick jag fram de söksträngar som dessa mappar byggde på. Därefter var det bara att klippa och klistra ihop dem med en booleansk operator — i det här fallet ”||” (or/eller) — och klistra in dem som ”råsökning” enligt ovan.
Hur blev det då med mina Pages-dokument? Jo, det visade sig att det inte existerar en dokument-typ för detta filformat (därav Excel som tillfällig stand-in), men istället var det möjligt att utnyttja filändelsen ”.pages”. Min sökterm ser då ut så här:
(kMDItemKind = '*Microsoft Word-dokument*'cd) || (kMDItemFSName = '*.pages'cd)
… vilket fungerar alldeles utmärkt. Vill man läsa mer om det här har Apple en del resurser att tillgå.
