docpart

Назначение

Находит документы, содержащие аргументы в определенных секциях документа (заголовках, таблицах, списках, оглавлении).

Синтаксис

docpart(раздел[, аргумент_1, [аргумент_2, …]])

Аргументы

Первый обязательный аргумент раздел позволяет указать требуемую секцию документа и принимает одно из нижеперечисленных значений:

  • table_of_contents/contents/toc — оглавление

  • heading — заголовок

    1. level: уровень заголовка: [1, 6], 1 — заголовок высшего уровня, 6 — заголовок низшего уровня;

  • list — список

    1. number: номер списка в документе;

    2. type: тип списка: нумерованный, ненумерованный/маркированный;

    3. item: номер элемента в списке;

    4. level: уровень списка: [1, 6], 1 — список высшего уровня, 6 — список низшего уровня;

  • list_item — элемент списка

    1. number: номер элемента в списке;

  • table — таблица

    1. name: имя таблицы;

    2. number: номер таблицы в документе;

    3. column/col: имя/номер колонки в таблице;

    4. row: имя/номер строки в таблице;

  • row — строка таблицы

    1. name: имя строки;

    2. number: номер строки в таблице;

  • column/col — колонка таблицы

    1. name: имя колонки;

    2. number: номер колонки в таблице;

  • cell — ячейка таблицы

  • table_name — имя таблицы

  • section — section

    1. name: имя раздела;

    2. whole (yes/no) : поиск имени раздела целиком или частично, по умолчанию whole:=no;

    3. level: уровень раздела, соответствует уровню заголовка;

    4. field: поиск в теле/заголовке/теле и заголовке раздела; по умолчанию field:=any;

  • mail — раздел электронного письма

    1. sender: отправитель письма;

    2. recipient: получатель письма;

    3. copy: получатель письма в копии;

    4. subject: тема письма;

    5. opening: обращение;

    6. closing: заключение;

    7. signature: подпись;

    8. body: тело письма;

    9. date_time: дата и время письма

    10. forwarded:=yes/no: определяет, является ли письмо пересылаемым.

  • page — страница/диапазон страниц

    1. number: задает номер страницы или диапазон страниц, если задано два параметра.

  • hyperlink — интернет-ссылка.

Функция также может принимать опциональный параметр ocr, который позволяет находить документы, содержащие слова с высокой достоверностью распознавания OCR-модулем PolyAnalist, а также его именованный параметр confidence, который задает порог достоверности распознавания.

Примечание
  1. Для поиска по нескольким разделам следует перечислить их через «|».

  2. Если указана только секция документа, функция находит все секции указанного типа.

  3. Для ограничения поиска внутри числовых параметров можно использовать операторы сравнения «>», «<», «>=», «<=», «!=», например, docpart(table, col:>1, col:<3, row:>1).

  4. Параметр page поддерживает форматы docx и pdf.

  5. Функция docpart ищет пересечение запроса с разделами таблицы или со страницами, заданными аргументом number соответственно. Таким образом, запрос может лишь частично находиться в указанных разделах таблицы или на указанных страницах.

  6. Атрибут number параметра page может принимать отрицательное значение. В таком случае он отсчитывается от последней страницы в документе, т.е. number:"-1" ограничивает запрос последней страницей, number:>="-2" ограничивает запрос последними двумя страницами.

  7. Параметр hyperlink ищет гиперссылки только в html-страницах. Для его корректной работы необходимо выполнить узел «Интернет», а затем присоединить к нему тот узел, в котором будут использоваться полученные результаты.

Возвращаемое значение

Документы, соответствующие запросу.

Примеры

docpart(contents, аудиторская проверка) найдет упоминание «аудиторской проверки» в содержании;

docpart(heading, прибыль) найдет слово «прибыль» только в заголовках;

docpart(table, прибыль) найдет слово «прибыль» только в таблицах;

docpart(heading|table, прибыль) найдет слово «прибыль» в заголовках и таблицах;

docpart(heading, level:=1) найдет заголовки высшего уровня в документе;

docpart(table_name) найдет имена таблиц;

docpart(list) найдет все списки в документе;

docpart(list, type:=unordered) найдет все ненумерованные списки в документе;

docpart(list, type:=ordered) найдет все нумерованные списки в документе;

docpart(list, type:=bulleted) найдет все маркированные списки в документе;

docpart(list, number:=3, item:=2) найдет второй элемент в третьем списке документа;

docpart(list_item, number:=5) найдет пятый элемент в каждом списке документа.

docpart(section, конфиденциальность, field:=body) найдет слово «конфиденциальность» в теле раздела, но не в заголовках.

docpart(section, финансирование, name:=глава) найдет слово «финансирование» в разделах, содержащих в названии слово «глава».

docpart(section, name:=phrase(глава, number()), whole:=yes) найдет разделы с именами «глава 1», «глава 2», но например, не «новая глава 1».

docpart(section, информация, level:=2) = docpart(heading, информация, level:=2) найдет слово «информация» в заголовках второго уровня.

docpart(mail, field:=subject) найдет "Subject: RE: Запрос по закупке товара" в структуре электронного письма.

docpart(mail, forwarded:=yes) найдет в датасете пересылаемые сообщения.

docpart(mail, field:=copy) найдет получателей в копии, cc: Belkina Elena; Loseva Lena.

docpart(ocr, confidence:>80) найдет слова, чей порог достоверности распознавания OCR-модулем больше 80.

docpart(page) находит все страницы документа.

docpart(page, number:=1) находит и подсвечивает первую страницу документа.

docpart(page, <pdl-запрос>) находит позиции pdl-запроса в пределах одной страницы.

docpart(page, договор, аренда, number:=1) находит любой из аргументов «договор» и «аренда» на первой странице.

docpart(page, договор, number:=1) находит слово «договор» на первой странице.

docpart(page, договор, number:="-1") находит слово «договор» на последней странице.

docpart(page, подпись, number:!=1) находит слово «подпись» не на первой странице.

docpart(page, сумма, number:>=2, number:<=3) находит слово «сумма» на второй и третьей странице.

docpart(hyperlink) находит все гиперссылки в документе.

docpart(hyperlink, "пролив") находит гиперссылки, содержащие слово «пролив».