Поиск с ограничением по дате документа

Для поиска документов в указанном диапазоне дат используется функция docdate().

Синтаксис

docdate(тип_ограничения, дата_1 [,дата_2])

Опциональные аргументы тип_ограничения, дата_1 и дата_2 позволяют ограничить дату документа определенным диапазоном. При этом параметры дата_1, дата_2 должны быть указаны в формате «мм/дд/гггг».

Аргумент тип_ограничения определяет вид сравнения и может принимать одно из нижеперечисленных значений:

Тип ограничения

Синонимы

Пояснение

<

less/lt

дата документа меньше значения дата_1

<=

le/less or equal

дата документа меньше или равна значению дата_1

>

gt/greater

дата документа больше значения дата_1

>=

ge/greater or equal

дата документа больше или равна значению дата_1

=

eq/equal

дата документа равна значению дата_1

!=

ne/not equal

дата документа не равна значению дата_1

()

bt/between

дата документа принадлежит интервалу (дата_1, дата_2)

[]

be/between or equal

дата документа принадлежит отрезку [дата_1, дата_2]

(]

lo/left-open

дата документа принадлежит интервалу (дата_1, дата_2]

[)

ro/right-open

дата документа принадлежит отрезку [дата_1, дата_2)

Если тип ограничения состоит из математических символов (>, (), !=, и т.д.), их необходимо заключить в кавычки (">", "()", "!=", и т.д.).

Функция также может принимать именованные параметры year, month, day, hour, minute, second, которые позволяют ограничить поиск определенным годом, месяцем, днем, часом, минутой или секундой. При использовании именованных параметров другие аргументы функции указывать не нужно.

Пример

docdate() находит все документы с датой.

not docdate() находит документы без даты.

docdate(equal,"8/28/2017") находит все документы от 28 августа 2017 года.

docdate(year:>2001) находит документы после 2001 года.

docdate(month:=10|11) находит документы за октябрь или ноябрь любого года.

docdate(month:=10|11, year:= 2002|2003) находит документы за октябрь—ноябрь 2002—2003 года.

docdate(year:=2002, day:>10, day:<15) находит документы с 10 до 15 числа любого месяца 2002 года.

Примечание

Для корректной работы функции необходимо предварительно указать колонку с датой документа в поле «Выбранная колонка с датой/временем» в настройках узла «Индекс».

pdl docdate 1 rus

Пример задачи: Поиск новостей за определенный период

Чтобы найти все новости за май 2015 года, можно составить запрос:

docdate("[]", "05/01/2015", "05/31/2015") = docdate("()", "04/30/2015", "06/01/2015")

pdl docdate 2 rus

Можно ограничить поиск определенным днем:

docdate("=","05/05/2015")

pdl docdate 3 rus

Также можно узнать новости на заданную тему за определенный период. Например, чтобы найти упоминание всех выставок 8 июня 2015 года, можно составить такой запрос: «выставка and docdate("=", "06/08/2015")».

pdl docdate 4 rus