...
Запрос разделен на термы и операторы. существует два типа терм: Одиночные термы и фразы:
Одиночные термы это слова. Например "test" или "привет".
Фраза это группа слов обрамленная в кавычки например "привет Долли".
Термы могут быть скомпанованы с помощью логических операторов для составления сложных поисковых запросов.
...
"яблоко груша" NOT "оранжевый грейпфрут"
Info |
---|
Оператор NOT не может быть использован с одним термом. Например, данный запрос будет пустым: NOT "яблоко груша" Для выполнения NOT запроса, необходимо сначала выделить более большее множество и из него убрать меньшее. Например |
-
Оператор "-" или запрещающий оператор исключает документы которые содержат термы после операторы "-".
...
Архива поддерживает использование скобок для группирования нескольких условий применительно к одному полю.
Для поиска заголовка, содержащего слово "яблоко" и фразу "оранжевой грейпфрут" в теме письма, используется запрос:
subject:(+яблоко +"оранжевой грейпфрут")
...
Архива поддерживает поиск по шаблону одной буквы или множества букв в отдельных термах но не фразах.
Для поиска по шаблону одной буквы используйте символ вопросительного знака "?".
Для поиска по шаблону множества букв используйте символ звездочка "*".
Шаблон замены одного символа ищет все термы которые соответсвуют поисковому терму с заменой одного символа. Например для поиска слова "text" или "test" вы можете использовать следующий запрос:
"*" ищет совпадения 0 или большего количества символов. Например, для поиска test, tests или tester, вы можете использовать следующий запрос:
Так же данный символ можно использовать в середине терма.
Info |
---|
К сожалению, использование * или ? символов в качестве начала терма запрещено |
Запрос регулярных выражений
Архива поддерживает поиск регулярного выражения, совпадающие с шаблоном между косой чертой "/". Синтаксис может измениться в релизах, но в настоящее время поддерживается синтаксис описан в классе RegExp. Например, чтобы найти документы, содержащие "moat" или "boat":
/[mb]oat/
...
Архива поддерживает экранирование специальных символов, которые могут быть частью запроса. Список специальных символов предоставлен ниже:
Для экранирования данных символов, используйте символ \ перед специальным символом. Например для поиска (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).