Поиск аргумента на определенной позиции в документе
Для поиска аргумента на определенной позиции в документе используется функция position().
Синтаксис
Опциональный параметр номер_позиции позволяет указать максимальную позицию (в токенах) аргумента. При отсутствии данного параметра функция ищет аргументы на первой позиции. При расчете позиции не учитываются знаки пунктуации.
Функция также поддерживает следующие опциональные именованные параметры:
Параметр |
Пояснение |
scope:=sentence/paragraph/text/table_cell/table_name/table_row_name/table_column_name |
указывает позицию в предложении/параграфе/тексте/таблице |
mode:=forward/backward |
указывает позицию от начала/конца выбранного диапазона |
min_pos |
указывает минимальную позицию аргумента |
max_pos |
указывает максимальную позицию аргумента |
Примечание
По умолчанию параметры принимают следующие значения: scope:=text, mode:=forward. Параметр max_pos аналогичен первому опциональному аргументу номер_позиции.
Пример
Пример задачи: Найти найти тексты, в начале которых упоминается Москва
Можно написать запрос position(min_pos:=1, max_pos:=4, Москва, scope:=text), который позволит найти статьи, где слово Москва стоит на 1, 2, 3 или 4 позиции в начале текста.
Однако такой запрос не найдет упоминание Москвы в конце документа. Для этого нужно изменить запрос, задав значение именованного параметра mode: position(min_pos:=1, max_pos:=4, Москва, scope:=text, mode:=backwards).