Перейти к концу метаданных
Переход к началу метаданных

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

Для составления поискового запроса его необходимо ввести в строку поиска и нажать на кнопку поиск. Данные согласно вашего поискового запроса будут выведены в таблицу результатов поиска. 



Термы

Запрос разделен на термы и операторы. существует два типа терм: Одиночные термы и фразы:

Одиночные термы это слова. Например "test" или "привет".

Фраза это группа слов обрамленная в кавычки например "привет Долли".

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

Поля

Во время поиска вы можете указать поля или использовать поля по умолчанию.

Для использования поля введите название поля на англиском языке и завершите ввод поля двоеточием ":" ( subject: )  далее введите терм для поиска. Например нам необходимо найти письмо где в тепе письма будет указано "Питер Пен" и тело письма содержит "пиратский корабль". Данный запрос ( subject:"Питер Пен" AND body:"пиратский корабль" ) должен быть введен в строку поиска. Пожалуйста ознакомьтесь с полями для поиска доступными по умолчанию в Архива. 

Логические операторы 

Логические операторы позволяют комбинировать термы. Архива поддерживает следующие логические операторы AND, "+", OR, NOT и "-".

Icon

логические операторы всегда должны быть только из заглавных букв

OR

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

Для поиска документов содержащих либо "яблок"

Для поиска документов содержащих либо "молоко убежало" или "молоко" используйте запрос: 

"молоко убежало" или "молоко"

AND

Оператор AND позволяет связывать термы между собой таким образом, что все термы связанные данным оператором должны быть найдены в документе. Это аналог пересечения множеств. Символ && может быть использован вместо слова AND.

Для поиска документов содержащих "молоко убежало" и "вкусные плюшки" используйте запрос: 

"молоко убежало" AND "вкусные плюшки"

+

Оператор "+" или обязательный оператор требует чтобы терм находящийся за оператором "+" должен обязательно находится в поле или документе.

Для поиска документов, которые должны содержать "Яблоко" и могут содержать "груша", используется запрос:

+Яблоко груша

NOT

Оператор NOT исключает документы которые содержат термы после оператора NOT. Это эквивалент разницы множеств. Символ ! может быть использован вместо слова NOT.

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

"яблоко груша" NOT "оранжевый грейпфрут"

-

Оператор "-" или запрещающий оператор исключает документы которые содержат термы после операторы "-".

Для поиска документов, содержащих "яблоко груша", но не "оранжевые плоды винограда", используется запрос:

"яблоко груша" -"оранжевые плоды винограда"

Группировка

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

Для поиска или "яблоко" или "груша" и "грейпфрут" в теме сообщения, используется запрос:

subject:(яблоко OR груша) AND subject:грейпфрут

Групировка полей

Архива поддерживает использование скобок для группирования нескольких условий применительно к одному полю.

Для поиска заголовка, содержащего слово "яблоко" и фразу "оранжевой грейпфрут" в теме письма, используется запрос:

subject:(+яблоко +"оранжевой грейпфрут")

 

Icon
К сожалению, использование  * или ? символов в качестве начала терма запрещено

Запрос регулярных выражений

Архива поддерживает поиск регулярного выражения, совпадающие с шаблоном между косой чертой "/". Синтаксис может измениться в релизах, но в настоящее время поддерживается синтаксис описан в классе RegExp. Например, чтобы найти документы, содержащие "moat" или "boat":

/[mb]oat/

Нечеткий поиск

Нечеткий поиск основан на расстоянии Левенштейна. Для использования нечеткого поиска используйте символ тильда "~". For example to search for a term similar in spelling to "roam" use the fuzzy search:

roam~

Поиск вернет термы foam и roams.

Дополнительный опционный параметр позволяет задать количество допустимых изменений. Значение между 0 и 2, например:

roam~1

Значение по умолчанию 2. 

Поиск близких

Архива поддерживает поиск слов с определенной дистанцией между ними. Для данного поиска используется знак тильды "~" в конце фразы. Например необходимо найти документы где слово "яблоко" и "груша" находятся на расстоянии 10 слов между собой:

"яблоко груша"~10

Поиск диапазонов

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

sentdate:[20020101 TO 20030101]

 

Icon

Обратите внимание, следующие запросы не будут работать для поля даты:

 

subject:{Aida TO Carmen}
Этот запрос найдет все документы тема письма которых будет находится между Aida и Carmen, не включая Aida и Carmen. Включающие диапазонные запросы используют квадратные скобочки, исключающие фигурные.

Бустинг термов

Архива предоставляет результаты согласно релевантности найденных документов запросу. Для бустинга термы используйте символ "^" с фактором буста (число) в конце терма который вы ищете. Чем выше буст фактор тем релевантнее данный терм будет в поиске. Бустинг позволяет управлять релевантностью документов подвергая бусту терм в документе. Например ищем в теме: яблоко груша (subject:яблоко груша) 

и хотим чтобы терм "яблоко" был более релевантным, наберем:

subject:яблоко^4 груша

Данный запрос сделает документы с темой яблоко более релевантными и они отобразаться выше в результатах поиска. Так же можно бустить фразы как в примере:

"яблоко груша"^4 "оранжевый грейпфрут"

По умолчанию буст фактор равен 1.  Так-же он должен быть положительным, и может быть меньше 1 (т.е. 0.2).

Экранирование специальных символов

Архива поддерживает экранирование специальных символов, которые могут быть частью запроса. Список специальных символов предоставлен ниже:

+ - && || ! ( ) { } [ ] ^ " ~ * ? : \

Для экранирования данных символов, используйте символ \ перед специальным символом. Например для поиска (1+1):2 используйте запрос:

\(1\+1\)\:2

Поиск с помощью регулярных выражений

Поиск с помощью регулярных выражений начинается и заканчивается символом /. Для примера поиск:

 

all:/<6-9>{1}019?123?45?67/

 

будет использовать регулярное выражение "<6-9>{1}926?559?31?35".

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

regexp::=unionexp  
 |   
unionexp::=interexp | unionexp(union) 
 |interexp  
interexp::=concatexp & interexp(intersection)[OPTIONAL]
 |concatexp  
concatexp::=repeatexp concatexp(concatenation) 
 |repeatexp  
repeatexp::=repeatexp ?(zero or one occurrence) 
 |repeatexp *(zero or more occurrences) 
 |repeatexp +(one or more occurrences) 
 |repeatexp {n}(n occurrences) 
 |repeatexp {n,}(n or more occurrences) 
 |repeatexp {n,m}(n to m occurrences, including both) 
 |complexp  
complexp::=~ complexp(complement)[OPTIONAL]
 |charclassexp  
charclassexp::=[ charclasses ](character class) 
 |[^ charclasses ](negated character class) 
 |simpleexp  
charclasses::=charclass charclasses  
 |charclass  
charclass::=charexp - charexp(character range, including end-points) 
 |charexp  
simpleexp::=charexp  
 |.(any single character) 
 |#(the empty language)[OPTIONAL]
 |@(any string)[OPTIONAL]
 |" <Unicode string without double-quotes>  "(a string) 
 |( )(the empty string) 
 |( unionexp )(precedence override) 
 |< <identifier> >(named automaton)[OPTIONAL]
 |<n-m>(numerical interval)[OPTIONAL]
charexp::=<Unicode character>(a single non-reserved character) 
 |\ <Unicode character> (a single character) 

The productions marked [OPTIONAL] are only allowed if specified by the syntax flags passed to the RegExp constructor. The reserved characters used in the (enabled) syntax must be escaped with backslash (\) or double-quotes ("..."). (In contrast to other regexp syntaxes, this is required also in character classes.) Be aware that dash (-) has a special meaning in charclass expressions. An identifier is a string not containing right angle bracket (>) or dash (-). Numerical intervals are specified by non-negative decimal integers and include both end points, and if n and m have the same number of digits, then the conforming strings must have that length (i.e. prefixed by 0's).

  • Ни одной