near

Назначение

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

Синтаксис

near([расстояние, ]аргумент_1, аргумент_2,..)

Аргументы

Функция принимает несколько аргументов:

  • опциональный именованный параметр расстояние позволяет указать максимальное расстояние (в токенах) между соседними аргументами. По умолчанию данный параметр равен 1. Если параметр равен 0, запрещается наличие пунктуации между аргументами;

  • аргумент_1, аргумент_2 и т.д. - искомые аргументы.

Функция также поддерживает следующие опциональные именованные параметры:

  • range определяет точную длину последовательности в токенах, min_range определяет минимальную длину, max_range - максимальную;

  • distance определяет точную разницу в позициях между первым и последним токеном последовательности, min_distance определяет минимальную разницу, max_distance - максимальную;

  • gap определяет точное количество токенов между аргументами последовательности, min_gap определяет минимальное количество, max_gap - максимальное;

  • interval определяет точную разницу в позициях между соседними аргументами последовательности, min_interval определяет минимальную разницу, max_interval - максимальную;

  • allow_punct:=yes/no: допускает или запрещает наличие пунктуации между аргументами (значение по умолчанию - "yes");

  • allow_space:=yes/no допускает или запрещает наличие пробела между аргументами (значение по умолчанию - "yes");

  • match:=range извлекает фрагмент текста от первого до последнего найденного аргумента.

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

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

Примеры

near(компания, директор) = near(1, компания, директор) найдет «главный креативный директор компании» и «является в компании директором по производственным вопросам».

near(3, компания, производство) = near(компания, производство, max_range:=4) = near(компания, производство, max_gap:=2) найдет «компания, специализирующаяся на производстве мясной продукции», «На сколько уменьшены объемы производства, компания не разглашает» и «Об этом ТАСС сообщили в штаб-квартире компании. Перспективы возобновления производства пока не определены».

near(компания, прибыль, убыток, max_interval:=7, match:=range) найдет «По итогам 2014 года компания получила чистый убыток в размере 17,1 млрд рублей против прибыли 7,3 млрд рублей годом ранее».