Поиск по разделам документа

Для поиска в определенных разделах документа (заголовках, таблицах, списках, оглавлении) используется функция docpart().

Синтаксис

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

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

Раздел

Пояснение

Поддерживаемые атрибуты

Атрибут

Пояснение

table_of_contents/contents/toc

оглавление

heading

заголовок

1. level

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

list

список

1. number

номер списка в документе

2. type (ordered, unordered, bulleted)

тип списка (нумерованный, ненумерованный, маркированный)

3. item

номер элемента в списке

list_item

элемент списка

1. number

номер элемента в списке

table

таблица

1. name

имя таблицы

2. number

номер таблицы в документе

3. column/col

имя/номер колонки в таблице

4. col_number

номер колонки в таблице

5. row

имя/номер строки в таблице

6. row_number

номер строки в таблице

row

строка таблицы

1. name

имя строки

2. number

номер строки в таблице

column/col

колонка таблицы

1. name

имя колонки

2. number

номер колонки в таблице

cell

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

table_name

имя таблицы

section

раздел

1. name

имя раздела; может быть PDL-запросом

2. whole (yes/no)

поиск имени раздела целиком или частично; по умолчанию whole:=no

3. level

уровень раздела, соответствует уровню заголовка

4. field (body/heading/any)

поиск в теле/заголовке/теле и заголовке раздела; по умолчанию 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

Определяет, является ли письмо пересылаемым.

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

Примечание

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

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

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

В таблице ниже представлено, в каком формате поддерживается поиск по конкретным разделам.

Раздел

Поддерживаемые форматы

contents

docx, odt

heading

docx, html, odt, pptx, ppt, rtf

list

docx, html, odt, pptx

table

docx, doc, html, odt, pptx, ppt, pdf, rtf

section

docx, html, odt, pptx, ppt, rtf

Пример

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.