burin, теперь есть
Справка по синтаксису запросов Соглашения Запросы выделены курсивом.
Пример:
%rating% GREATER 3 Примеры запросов могут содержать метки, заключенные в угловые скобки. Их текст, указывает на то, чем они должны быть заменены в реальном запросе. Если в одном примере запроса встретятся несколько одинаковых меток, к их тексту будет добавлена цифра.
Пример:
<поле> GREATER <число> Следующие типы меток используются в остальной части документа:
<поле>Ссылка на поле тега. Может быть просто именем поля или строка форматирования. См. Замечания.
<число>Целое число.
<строка>Текстовое значение, которое может быть заключено в двойные кавычки. См. Замечания.
<время>Значение времени или строка форматирования, которая вычисляется в значение времени. См. Временные выражения.
<выражение>Выражение запроса в составном запросе. Записывается по правилам, описанным в разделе Расширенный поиск далее.
Простой поиск Для простого поиска не используются ключевые слова.
<любая строка>Возвращает только те элементы, которые содержат все слова указанной строки в метаданных или пути файла.
Расширенный поиск Расширенный поиск позволяет конструировать более сложные запросы. Поддерживается ключевые слова, позволяющие указать тип сравнения и комбинировать в запросе несколько выражений.
Текстовые выражения <поле> HAS <строка>Возвращает только те элементы, которые содержат все слова из
<строки> в поле метаданных
<поле>.
Пример:
title HAS бла <поле> IS <строка>Будут показаны только те элементы, у которых (хотя бы одно) значение поля метаданных
<поле> равно
<строке>.
Пример:
artist IS бла * HAS <строка>То же, что и простой поиск, но может комбинироваться с другими выражениями с помощью логических операций (см. ниже).
Числовые выражения Выполняет целочисленное сравнение значений
<поля> и
<числа>, например
"%rating% GREATER 3".
<поле> GREATER <число>(прим. пер. БОЛЬШЕ)
<поле> LESS <число>(прим. пер. МЕНЬШЕ)
<поле> EQUAL <число>(прим. пер. РАВНО)
Выражения с метаданными <поле> MISSINGБудут показаны только те элементы, у которых нет поля метаданных
<поле>.
Пример:
genre MISSING <поле> PRESENTБудут показаны только те элементы, у которых есть поле метаданных
<поле>.
Пример:
genre PRESENT Временные выражения <время1> BEFORE <время2>Будут показаны только те элементы, у которых значение
<время1> раньше
<время2>. (прим. пер. т.е. меньше)
Пример:
%last_modified% BEFORE 2008 <время1> AFTER <время2>Будут показаны только те элементы, у которых значение
<время1> позже
<время2>. (прим. пер. т.е. больше)
Пример:
%last_modified% AFTER 2008 <время1> SINCE <время2>Будут показаны только те элементы, у которых значение
<время1> не раньше
<время2>. (прим. пер. т.е. больше или равно)
Пример:
%last_modified% SINCE 2007 <время1> DURING <время2>Будут показаны только те элементы, у которых значение
<время1> входит в период
<время2>. (прим. пер. значение заданное с точностью до дня входит в период значения месяца, значение с точностью до времени в период дня; т.о. следующие выражения истинны
2008-07-12 DURING 2008,
2008-07-12 16:53 DURING 2008-07-12, и т.д.)
Пример:
%last_modified% DURING 2007 <время> DURING LAST <число> <единица времени>Будут показаны элементы, у которых значение
<времени> попадает в указанный период. (прим. пер. DURING LAST — в течении последних …)
<единица времени> принимает значения
SECONDS, MINUTES, HOURS, DAYS или
WEEKS. (прим. пер. СЕКУНДЫ, МИНУТЫ, ЧАСЫ, ДНИ или НЕДЕЛИ)
Пример:
%last_modified% DURING LAST 2 WEEKS (прим. пер. т.е. файл изменён в течении последних двух недель)
Если
<число> равно 1, выражение может быть упрощено до
<время> DURING LAST SECOND/MINUTE/HOUR/DAY/WEEK Значения времени задаются в одном из следующих форматов: YYYY, YYYY-MM, YYYY-MM-DD, YYYY-MM-DD hh, YYYY-MM-DD hh:mm, YYYY-MM-DD hh:mm:ss.
(прим. пер.: где YYYY — год, MM — месяц, DD — день, hh — часы, mm — минуты, ss — секунды).
Составные запросы <выражение1> AND <выражение2>Будут показаны только те элементы для которых оба выражения истинны.
Пример:
artist IS бла AND title HAS блаТакже можно заключать выражения в скобки, чтобы управлять порядком вычисления.
Пример:
( (artist IS бла) AND (title HAS бла) ) OR (%rating% GREATER 3) <выражение1> OR <выражение2>Будут показаны только те элементы для которых хотя бы одно выражение истинно.
NOT <выражение>Будут показаны только те элементы для которых
<выражение> ложно.
Пример:
NOT %last_played% AFTER %first_played% Сортировка результатов Вы можете поместить оператор
SORT BY в конце выражения, чтобы производить сортировку результатов поиска по указанному шаблону форматирования.
SORT BY <шаблон сортировки>, SORT ASCENDING BY <шаблон сортировки>Сортирует результаты в восходящем порядке.
SORT DESCENDING BY <шаблон сортировки>Сортирует результаты по убыванию.
Замечания <поле> и
<строка> в выражениях
HAS и
IS должны заключаться в двойные кавычки (
"), если содержат пробел.
Если
<поле> в
HAS, IS, GREATER, LESS, EQUAL содержит хотя бы один из символов #$%, оно будет рассматриваться как строка форматирования.
Пример:
%codec% IS MP3 Использование строк форматирования вместо простых имён полей замедлит скорость поиска в больших библиотеках и прервёт обработку множественных значений поля в операторе IS.
Если
<поле> в
HAS, IS, GREATER, LESS, EQUAL не содержит ни одного из символов #$%, оно будет рассматриваться как поле метаданных.
Пример:
artist IS Radiohead Вы не можете получить доступ к технической информации (такой как характеристики кодека) или предоставляемой компонентом информации (статистика воспроизведения и т.п.) таким образом.
Все поисковые выражения регистронезависимы. Все ключевые слова должны быть в верхнем регистре.