#contents

*これ何? [#t2d8d087]

"Playlist Search"(メインメニュー>Edit>Search, CTRL+F) や "Media Library Search"(メインメニュー>Library>Search)、 "[[Album List>Album List 解説]]" の Filter 欄、"[[Quick Search Toolbar>User interface#wb395018]]" 、[[Facets>Facets 解説]] の Search box (([[DURING LAST>#a2982467]] は今のところ使えません))などで使える構文。
これを知っていると検索の際や、Autoplaylist をつくる際などに便利です。
#imgr(./snaps/up596.png);

↑Quick Search Toolbar での例

*解説 [#xf2d412e]

**Text Expressions [#cb98224a]

***文字列のみ [#jb977a63]

 (文字列)
Metadata、Technical info、ファイル名を含むファイルパスに入力した文字が含まれているものを検索します。
:例|
 MP3
↑ MP3 ファイルを検索してくれますが、タグやファイルパスなどに "MP3" という文字を含むファイルも一緒に検索してしまいます。

***HAS [#q5afd166]

 (フィールド名) HAS (文字列)
Metadata に特定の文字が含まれているものを検索します。"HAS" の部分は大文字にする必要があります。
:例|
 title HAS blah

***IS [#t6f7e2b1]

 (フィールド名) IS (文字列)
Metadata と特定の文字が一致しているものを検索します。
:例|
 artist IS foobar

**Composed Queries [#a1e080ec]

***AND [#zfc35685]

 (構文1) AND (構文2)
構文1と構文2を同時に満たすものを検索します。
:例|
 title HAS blah AND artist IS foobar

***OR [#qb5ddd52]

 (構文1) OR (構文2)
構文1か構文2の少なくとも一方を満たしているものを検索します。
:例|
 title HAS blah OR artist IS foobar

また、数式のように括弧で囲むことで、実行する順番を設定できます。
:例1|
 (title HAS blah AND artist IS foobar) OR (genre IS rock)
:例2|
 (title HAS blah) AND (artist IS foobar OR genre IS rock)

***NOT [#d0723ab2]

 NOT (構文)
構文の条件を満たしていないものを検索します。
:例1|
 NOT title HAS blah
:例2|
 NOT (title HAS blah AND artist IS foobar)

**Numeric Expressions [#heb35a22]

***GREATER [#i63edeb2]

 (フィールド名) GREATER (数字)
Metadata の数 > 入力した数 となるものを検索します。
:例|
 Date GREATER 2000
↑ 2000年以降の曲を検索します。

***LESS [#wb016a36]

 (フィールド名) LESS (数字)
Metadata の数 < 入力した数 となるものを検索します。
:例|
 Date LESS 2000
↑ 2000年以前の曲を検索します。

***EQUAL [#f73df035]

 (フィールド名) EQUAL (数字)
Metadata の数 = 入力した数 となるものを検索します。
:例|
 Date EQUAL 2000
↑ 2000年の曲を検索します。

**Metadata Expressions [#y36d2327]

***MISSING [#jd8ebf58]

 (フィールド名) MISSING
Metadata に情報が無いものを検索します。
:例|
 lyrics MISSING

***PRESENT (v0.9.5.3 ~)[#u12f4e80]

 (フィールド名) PRESENT
Metadata に情報が有るものを検索します。v0.9.5.2 以前では使えません。
:例|
 conductor PRESENT

**Time Expressions [#xbe43807]

以下で使われる (時刻1) などは
 YYYY
 YYYY-MM
 YYYY-MM-DD
 YYYY-MM-DD hh
 YYYY-MM-DD hh:mm
 YYYY-MM-DD hh:mm:ss
の形である必要があります。

***BEFORE (v0.9.5.3 ~) [#y5e309b3]

 (時刻1) BEFORE (時刻2)
(時刻1) が (時刻2) より前であるものを検索します。v0.9.5.2 以前では使えません。
:例|
 %added% BEFORE 2008-04
↑2008年3月末までに Media Library に追加された曲を検索します。

***AFTER (v0.9.5.3 ~) [#keeac686]

 (時刻1) AFTER (時刻2)
(時刻1) が (時刻2) より後であるものを検索します。v0.9.5.2 以前では使えません。
:例|
 %last_modified% AFTER 2007
↑2008年になってから更新のあったものを検索します。

***SINCE (v0.9.5.3 ~) [#g360d290]

 (時刻1) SINCE (時刻2)
(時刻1) が (時刻2) 以降であるものを検索します。v0.9.5.2 以前では使えません。
:例|
 %first_played% SINCE 2008-06-07
↑2008/06/07 以降に初めて再生されたものを検索します。

***DURING (v0.9.5.3 ~) [#c73c3973]

 (時刻1) DURING (時刻2)
(時刻1) が (時刻2) の間であるものを検索します。v0.9.5.2 以前では使えません。
:例|
 %added% DURING 2007
↑2007年の間に Media Library に追加されたファイルを検索します。

***DURING LAST (v0.9.5.3 ~) [#a2982467]

 (時刻) DURING LAST (数字) (時間の単位)
ここで (時間の単位) は
 SECONDS
 MINUTES
 HOURS
 DAYS
 WEEKS
です。

(時刻) が (期間)=『(数字) (時間の単位)』 の間にあるものを検索します 。v0.9.5.2 以前では使えません。
また、DURING LAST 1 SECONDS などは、自然な DURING LAST SECOND とすることもできます。
:例|
 %added% DURING LAST 3 WEEKS
↑過去三週間で Media Library に追加されたものを検索します。

**undocumented [#h7e5714e]

***ALL [#l48e7bf6]

 ALL
すべてを表示します。Media Library 内のすべての曲からなる Autoplaylist を作りたいときに便利です。

**Sorting Results [#x920ace5]

以下のオペレータを Query の最後に用いることにより、検索結果の表示順を指定することができます。

***SORT BY, SORT ASCENDING BY (v0.9.5.3 ~) [#e28b4b48]

 SORT BY (表示順)
 SORT ASCENDING BY (表示順)
検索結果を (表示順) に基づき、昇順にします。v0.9.5.2 以前では使えません。
:例|
 %path% HAS \\ AND %added% DURING LAST WEEK SORT BY %album artist% | %date% | %album% | %track% 
↑ネットワーク越しの Media Library に最近一週間で追加されたものを、自然な順序で表示します。

***SORT DESCENDING BY (v0.9.5.3 ~) [#l288159a]

 SORT DESCENDING BY (表示順)
検索結果を (表示順) に基づき、降順にします。v0.9.5.2 以前では使えません。
:例|
 %last_played% DURING LAST 2 WEEKS SORT DESCENDING BY %last_played%
過去二週間の履歴を降順に表示します。((同じ曲は一回しか表示されませんが))

*Tips [#e7dd2a7e]

-Technical info、Special Field を検索する場合は、
 %(フィールド名)% HAS (文字列)
などの形にする必要があります。
:例1|
 %codec% IS MP3
:例2|
 %title% HAS blah
↑ '''title HAS blah''' とほぼ同等。ただし、検索は若干遅くなる。
-[[リマッピング>TitleFormatting 解説#tce4be29]]は行われません。
- " で囲むことで [[TitleFormatting]] の関数が使えます。
:例|
 "$len(%title%)" GREATER 20
↑ "title" の文字数が20字を超えるものを検索します。
-HAS/IS は、フィールド名や文字列に半角スペースを含む場合、" で囲むことを推奨します。
:例|
 genre IS "new age"
-GREATER/LESS/EQUAL は、検索したフィールドに数字以外の文字が含まれていた場合、左から見て最初の数字以外の文字までの部分を検索対象にします。
例えば、 "Date = 2007/07/28" というファイルがあった場合、最初にある数字以外の文字(ここでは一つ目の "/" )までの部分は "2007" なので、'''Date EQUAL 2007''' で検索することができます。
-HAS の前では、"*" を、IS の後ろの部分では、"*" と "?" をワイルドカードとして使うことができます。
:例1|
 * HAS (文字列)
↑ 文字列のみで検索した場合と同等のことができます。AND や OR 、NOT と一緒に使うと便利です。
:例2|
 lyrics IS *
↑ '''NOT lyrics MISSING''' と同等です。
:例3|
 artist IS foobar*
↑ artist が "foobar" や "foobar2000"、"foobar and Peter" などとなっているファイルを検索します。
:例4|
 title IS ?????
↑ title が5文字のファイルを検索します。