Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Formatting was changed.

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

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

Image Added

Термы

Поля

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

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

Info

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

OR

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

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

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

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

AND

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

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

+

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

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

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

NOT

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

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

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

-

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

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

Группировка

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

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

Нечеткий поиск основан на расстоянии Левенштейна. Для использования нечеткого поиска используйте символ тильда "~". 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

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

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

 

Info

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

 

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

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

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

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

По умолчанию буст фактор равен 1.  Так-же он должен быть положительным, и может быть меньше 1 (т.е. 0.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).