Текстовый поиск в Adobe Acrobat Sign

Обзор

Acrobat Sign позволяет выполнять сложный поиск содержимого в соглашениях пользователя. На панели поиска на странице Управление отображаются все транзакции, соответствующие строке, указанной для выбранного источника содержимого.

  • При поиске в разделе «Ваши соглашения» поиск осуществляется по вашему содержимому. Если поиск осуществляется в учетной записи с общим доступом, просматривается содержимое данной учетной записи.

Содержимое представленных ниже полей индексируется при создании/обновлении транзакции.

  • Название: название соглашения.
  • Примечание: личная заметка к соглашению, добавленная участником, которую не видят другие участники.
  • Сообщение: список сообщений, которые видит участник (включая личные и общедоступные сообщения).
  • Имя исходного файла: исходное имя добавленного файла, связанного с соглашением.
  • Адрес электронной почты: адрес электронной почты получателя (и всех, кто в копии) или отправителя.
  • Полное имя: имя и фамилия получателя (и всех, кто в копии) или отправителя.
  • Должность: должность получателя (и всех, кто в копии) или отправителя в компаниях, где они работают.
  • Название компании: название компании или организации получателя (и всех, кто в копии) или отправителя.
  • Название группы получателей: название специальной группы, работающей над соглашением, в которую входят получатели.
  • Содержимое текстового поля: содержимое текстового поля в форме, которое предоставил пользователь.
  • Полное имя пользователя, предоставившего общий доступ: имя и фамилия пользователя, предоставившего общий доступ к соглашению. Если доступ не предоставлялся, указывается полное имя пользователя.
  • Название группы получателей пользователя, предоставившего общий доступ: название группы получателей, в которую входит пользователь, предоставивший общий доступ к соглашению. Если доступ не предоставлялся, указывается название группы получателей пользователя.
  • Внешний идентификатор: назначенный отправителем идентификатор для соглашения может быть в любом формате. Как правило: <groupID>:<ID>. Внешний идентификатор передается в вызове API-интерфейсу создания соглашения.
  • Внешний идентификатор группы: назначенный отправителем идентификатор группы для соглашения может быть в любом формате. Обычно идентификатор группы указывается в качестве префикса к внешнему идентификатору. Внешний идентификатор группы передается в вызове API-интерфейсу создания соглашения. Если вы указываете внешний идентификатор группы, нужно обязательно указать и внешний идентификатор.
  • Идентификатор транзакции – это идентификатор, который Acrobat Sign назначает соглашению при создании.

Как работает поиск текста

Если вы искали строку "A simple fish":

  • Acrobat Sign присваивает строкам маркеры, используя пробелы в качестве разделителей. Пример строки, разделенной на три маркера: A, simple и fish.
    • Символы в строке запроса относятся к трем типам: буква, цифра и разделитель.
    • Символы, распознаваемые в качестве разделителей ((исключая пробелы): ~ ` ! @ # $ % ^ & * ( ) - + = { } [ ] | \ . , : ; " ' < > ? /
      • Точки, двоеточия и апострофы остаются включенными в маркер, если символы до и после этого символа одинакового типа.
      • Кавычки в начале и конце строки запроса не являются разделителями, а указывают значение строкового литерала (фразы).
      • Кавычки внутри строки запроса являются разделителями и не указывают значение строкового литерала..
  • Различие в регистре отсутствует. Пример: a, simple или fish.
  • Затем поиск пытается сопоставить полный текст каждого маркера с индексированным значением.
    • Для поля Название соглашения происходит более сложная процедура генерации маркеров (см. ниже).
  • Когда используется полный поиск, каждое соглашение, которому соответствует хотя бы один маркер из хотя бы одного поля с возможностью поиска, включается в возвращаемый набор данных.
    • Полученный набор данных сортируется по релевантности с самым релевантным результатом поиска наверху.

ПОЛЕ «НАЗВАНИЕ СОГЛАШЕНИЯ»

Как отмечалось выше, поле Название соглашения имеет более сложную функцию генерации маркеров благодаря дополнительному «настраиваемому» генератору маркеров, который в основном генерирует маркеры на разделителях контекста (в отличие от явных символов). Этот пользовательский генератор маркеров имеет следующие отличия от стандартного:

  • Генерируются маркеры префикса (до символов) — маркер префикса представляет собой инкрементную строку любого стандартного маркера. Пример: если стандартным маркером является fish, то инкрементными маркерами являются: f, fi, fis и fish.
    • Это позволяет выполнять поиск частичных строк, начиная с первого символа маркера.
    • Совпадения средней части строк не включаются в поиск. Пример: поиск слова rent не распознает слово apparently.
  • Маркеры разделения в символах, не являющихся буквами или цифрами. Пример: строка Super_Duper возвращает маркеры Super и Duper.
    • Символы подчеркивания не являются разделителями в стандартном генераторе маркеров.
  • Маркеры разделения в переходах между регистрами букв. Пример: строка PowerShot возвращает маркеры Power и Shot.
  • Маркеры разделения в переходах между буквами и цифрами. Пример: строка XL500 возвращает маркеры XL и 500.
  • Удаляет начальные или конечные разделители из каждого маркера. Пример: строка XL---42+'Autocoder'возвращает маркеры XL, 42 и Autocoder.
  • Удаляет символы английских притяжательных ('s) из конца каждого маркера. Пример: строка Dave's возвращает маркер Dave.

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

Пример: если у вас есть соглашение под названием My_NDA

  • Стандартный генератор маркеров должен создать маркер, который выглядит следующим образом: my_nda.
  • Пользовательский генератор маркеров создаст набор маркеров: mmynndnda, my_, my_n, my_nd, my_nda

Пример 2: если у вас есть соглашение под названием XL500

  • Стандартный генератор маркеров выдаст следующий маркер: xl500
  • Пользовательский генератор маркеров создаст набор маркеров: xl500, x, xl, 5, 50, 500, xl5, xl50

Поиск по синтаксису специального запроса

Как описано в разделе выше, поиск по соглашению выполняет приблизительное сопоставление между всеми доступными для поиска полями соглашения. Содержимое поля с возможностью поиска маркируется, а затем эти маркеры сопоставляются со строкой запроса во время запроса. Поиск соглашения также выполняет сопоставление префикса до десяти символов для этих маркеров. Если в соглашении будет найден хотя бы один совпадающий маркер, такое соглашение будет включено в список результатов поиска.  Результаты поиска сортируются по релевантности, то есть самый релевантный результат поиска будет отображаться наверху.

Но для поиска по совпадению всего значения поля, по совпадению фразы в значении поля, поиска соглашений без определенного маркера, поиска соглашений с несколькими совпадающими маркерами (не по фразе) потребуется использовать специальный синтаксис. Общий язык запросов подписывания (SGQL) был разработан для удовлетворения потребности клиентов в специальном синтаксисе для особых возможностей.

ЗАРЕЗЕРВИРОВАННЫЕ СИМВОЛЫ И СЛОВА

SGQL имеет семь зарезервированных символов:

*

(

)

\

"

'

:

Эти зарезервированные символы используются в качестве операторов и определяют особые возможности языка в поисковых запросах. Если зарезервированный символ используется неправильно, возвращается ошибка синтаксиса.  

Чтобы использовать зарезервированные символы в качестве обычных символов в поисковом запросе, их необходимо экранировать. Например, такой поисковый запрос:

\( \"bea\:u\*ful\"\\ \)

содержит все зарезервированные символы, которые экранированы и рассматриваются как обычные символы.

Также SGQL имеет три зарезервированных слова, которые используются в качестве операторов:

AND

OR

NOT

Эти операторы используются только в верхнем регистре. Чтобы использовать операторы в качестве маркеров в поисковом запросе, их необходимо заключить в двойные кавычки. Например:

foo "AND" bar

СОВПАДЕНИЕ ПО ФРАЗАМ

Обычный запрос сопоставления будет совпадать, если в поле появится ЛЮБОЙ из маркеров (но не обязательно все), и порядок маркеров не будет иметь значения, так как маркеры не должны отображаться вместе..

Запрос сопоставления фраз следует использовать, когда требуется поиск точной фразы без учета регистра среди одного или нескольких полей, доступных для поиска. Он позволяет найти несколько лексем в одном поле, причем эти лексемы появляются одна за другой в порядке, указанном в кавычках.

Формат синтаксиса запроса сопоставления фраз:

"<phrase_match_query>"

  или 

'<phrase_match_query>'

Если синтаксис запроса не соответствует правилам для синтаксиса запроса сопоставления фраз, в поле поиска по документу будет выполняться обычный запрос сопоставления во всех полях с возможностью поиска.

Например, такой запрос:

«Учебная группа»

будет соответствовать соглашениям, содержащим фразу «учебная группа» в любом из поисковых полей. Обратите внимание, что фраза «учебная - группа» не будет соответствовать этому запросу, так как она не является точной фразой с учетом регистра по сравнению с «учебной группой».

Сопоставление фраз может появиться в любом месте поискового запроса. Например:

заголовок: ( математика И «материалы курса» И «учебная группа» )

будет соответствовать заголовку «Материалы курса для учебной группы MATH 101», поскольку этот заголовок содержит ключевое слово «MATH» и фразы «Материалы курса» и «Учебная группа».

ПРЕФИКС ИМЕНИ ПОЛЯ

Запрос префикса имени поля следует использовать при поиске только одного конкретного поля соглашения пользователя.

Запрос с префиксом имени поля должен содержать префикс имени поля перед поисковым запросом. Формат синтаксиса запроса префикса имени поля:

<field_name>:<query>

Префикс имени поля может быть указан перед маркером или перед частью запроса, заключенной в кавычки. Например, такой поисковый запрос

title: ( Hello AND "Beautiful World" AND "My World" )

сопоставляет все указанные маркеры с полем заголовка соглашения.

В таком поисковом запросе

title: Hello AND "Beautiful World" AND "My World" 

только слово «Hello» относится к префиксу имени поля, поэтому только это слово сопоставляется с полем заголовка соглашения. Все остальные слова и фразы сопоставляются со всеми полями, которые поддерживают поиск.

Если <field_name> не указан, будут запрошены все поля, поддерживаемые для сопоставления фраз. В противном случае запрашивается только поле <field_name>. 

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

Например, такой запрос с префиксом по имени поля

title: "Hello World )

выполняет поиск только по полю, которое содержит название соглашения.

Ниже приведен список префиксов, поддерживаемых для запроса префикса имени поля. Префиксы имени поля не зависят от регистра. 

СОДЕРЖИМОЕ ПОЛЯ

 ПРЕФИКС ИМЕНИ ПОЛЯ СТРОКИ ЗАПРОСА

ОПИСАНИЕ СОДЕРЖИМОГО ПОЛЯ

Название

title*

Название соглашения.

Примечание

note

Личная заметка к соглашению, добавленная участником, которую не видят другие участники.

Сообщение

message

Список сообщений, которые видит участник (включая личные и общедоступные сообщения).

Имя исходного файла

originalFileName

Исходное имя добавленного файла, связанного с соглашением.

Адрес электронной почты

email**

Адрес электронной почты получателя (и всех, кто в копии) или отправителя.

Полное имя

fullName***

Имя и фамилия получателя (и всех, кто в копии) или отправителя.

Должность

jobTitle

Должность получателя (и всех, кто в копии) или отправителя в компаниях, где они работают.

Название компании

companyName

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

Название группы получателей

recipientGroupName

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

Содержимое текстового поля

textFieldContent

Содержимое текстового поля в форме, которое предоставил пользователь.

Полное имя пользователя, предоставившего общий доступ sharerFullName Имя и фамилия пользователя, предоставившего общий доступ к соглашению. Если доступ не предоставлялся, указывается полное имя пользователя.
Название группы получателей пользователя, предоставившего общий доступ sharerRecipientGroupName Название группы получателей, в которую входит пользователь, предоставивший общий доступ к соглашению. Если доступ не предоставлялся, указывается название группы получателей пользователя.
Внешний идентификатор

externalId

Назначенный отправителем идентификатор для соглашения может быть в любом формате. Как правило: <groupID>:<ID>. Внешний идентификатор передается в вызове API-интерфейсу создания соглашения.

Внешний идентификатор группы

externalGroupId

Назначенный отправителем идентификатор группы для соглашения может быть в любом формате. Обычно идентификатор группы указывается в качестве префикса к внешнему идентификатору. Внешний идентификатор группы передается в вызове API-интерфейсу создания соглашения. Если вы указываете внешний идентификатор группы, вы обязательно должны указать и внешний идентификатор.

Идентификатор транзакции agreementId Acrobat Sign назначает соглашению идентификатор (ID) при создании соглашения.

Для обратной совместимости у префиксов некоторых имен полей есть псевдонимы, одинаковые по функциональности с исходными префиксами имен полей. Следующие псевдонимы устарели и в дальнейшем будут удалены:

  * Префикс имени поля name может использоваться вместо title.

 ** Префикс имени поля participantEmail может использоваться вместо email.  

*** Префикс имени поля participantName может использоваться вместо fullName.

ПОДСТАНОВОЧНЫЕ ЗНАКИ

Подстановочный знак «звездочка» (*) позволяет выполнить поиск маркера по префиксу, за которым может следовать неограниченное число любых символов. Развертывание подстановочных знаков является очень ресурсоемкой операцией во время выполнения, поэтому при использовании этой функции следует соблюдать следующие правила.

  • Не допускаются подстановочные знаки в начале выражения.
  • Не допускаются подстановочные знаки в середине маркера.
  • Префикс имени поля является обязательным при поиске по маркерам с помощью оператора развертывания подстановочных знаков.
  • Оператор развертывания подстановочных знаков нельзя использовать в запросе более одного раза.
  • Запросы с оператором развертывания подстановочных знаков возвращают ошибку превышения времени ожидания, если выполняются дольше пяти секунд.

Например, такой запрос:

title:myh*

обнаружит совпадения со следующими маркерами в поле заголовка:

myhost

и

Развертывание подстановочных знаков является ресурсоемкой операцией. При неосторожном использовании она создает огромную нагрузку на системные ресурсы и приводит к длительному ожиданию результатов запроса. Чтобы избежать таких проблем, в SGQL применяются строгие ограничения на использование подстановочных знаков, позволяющие избежать наиболее ресурсоемких и требовательных сценариев использования. Чем более точно выражены ваши маркеры, тем эффективнее будет выполняться поиск. Поиск по конкретному слову или фразе всегда будет эффективнее, чем любой поиск с подстановочным знаком.

ЛОГИЧЕСКИЕ ВЫРАЖЕНИЯ

SGQL поддерживает логические операторы AND, OR и NOT, а также группирование этих операторов с помощью скобок. Эти операторы используются только в верхнем регистре.

Между маркерами всегда по умолчанию подразумевается оператор OR. Например:

foo bar

полностью идентично выражению

foo OR bar

Если вам не требуется оператор OR для удобочитаемости, его можно не указывать.

Оператор NOT применяется только к тому маркеру, который расположен сразу за оператором NOT. Чтобы применить NOT сразу к нескольким маркерам, их необходимо заключить в скобки.

В следующей таблице представлен порядок оценки логических выражений.

Порядок приоритета

Поисковая команда

1 Выражения внутри скобок
2 Условия NOT
3 Условия OR
4 Условия AND

В следующей таблице вы найдете несколько примеров семантически эквивалентных запросов, которые демонстрируют приоритет операторов без использования операторов группирования (скобок).

Поисковый запрос Эквивалентный ему поисковый запрос Комментарии
foo AND bar baz foo AND ( bar OR baz ) Оператор OR всегда неявно предполагается, и его не нужно использовать, если он не требуется для удобочитаемости запроса. 
foo NOT bar baz foo OR ( NOT bar ) OR baz Оператор NOT применяется к следующему за ним маркеру или заключенному в скобки элементу запроса.
foo NOT bar baz AND xyz ( foo OR ( NOT bar ) OR baz ) AND xyz
title: ( Hello AND "Beautiful World" "My World" ) title:Hello AND ( title:"Beautiful World" OR title:"My World" ) Префикс имени поля применяется к следующему за ним маркеру или заключенному в скобки элементу запроса.
title: Hello AND note: "Beautiful World" "My World" title:Hello AND ( note:"Beautiful World" OR "My World" )  Здесь фраза «My World» будет сопоставляться со всеми полями, поддерживающими поиск.  

 Adobe

Получайте помощь быстрее и проще

Новый пользователь?