Язык поисковых запросов.

База данных "Путеводители по российским архивам" обладает широкими возможностями по конструированию поисковых запросов. Грамотное использование языка запросов существенно расширяет перед исследователем границы возможностей по нахождению информации.

Определения:

Полнотекстовый поиск - процесс поиска документов на основе содержимого этих документов или комбинация алгоритмов для достижения этой цели.

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

Поисковый запрос - запрос к поисковому механизму, построенный по правилам грамматики языка запросов.

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

Релевантность (поискового документа) - степень соответствия документа запросу, определяет качество результатов поиска. Как правило, вычисляется по сложной математической формуле на основе различных характеристик слов, участвующих в запросе и встречающихся в документе.

Расстояние (между словами) - количество слов между двумя данными словами в абсолютной величине. Все знаки препинания для подсчета расстояния между словами игнорируются. Часто расстояние между словами используется в подсчете релевантности документа запросу.

 

0. Главные особенности поискового механизма системы "Путеводители по Российским Архивам".

а) Учитывается морфология для большинства общеупотребительных слов. Это означает, что все слова в запросах (кроме фразовых запросов) будут искаться с учетом своих различных форм.

б) Регистр вводимых слов не учитывается.

в) Слова не соединенные никаким оператором (разделенные одним или несколькими пробелами), автоматически воспринимаются в системе как соединенные оператором ИЛИ.

г) Местоимения, междометия и предлоги в системе считаются словами и могут использоваться в запросах, исключая зарезервированные: (И, ИЛИ, НЕ).

д) Даты тоже считаются словами. Например, текстовый фрагмент "(1941 - 1945)" - содержит два слова.

е) Использование посторонних символов, не описанных языком запросов, или способ употребления которых не описан, создаст некорректный запрос к системе, ответом на который будет ошибка.

ж) Результаты полнотекстового поиска отсортированы по убыванию релевантности.

1. Логические запросы

Логические запросы формулируются с использованием операторов AND (И), OR (ИЛИ), NOT (НЕ).

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

Оператор OR (русский аналог ИЛИ): используется для связывания двух или нескольких слов, наличия только одного из которых достаточно.

Оператор NOT (русский аналог НЕ): употребляется  перед словами, наличие которых в документе необходимо исключить. Оператор НЕ требует присутствие в запросе обязательных слов. Т.е. запросы не москва, не архив - некорректны.

Логические запросы можно комбинировать. В разборе логических запросов приоритет у оператора И равен приоритету оператора НЕ и выше приоритета оператора ИЛИ. Для того чтобы задать свой приоритет операторов в поисковом запросе необходимо использовать круглые скобки. 

Примеры:

деревообрабатывающий или лесообрабатывающий

деревообрабатывающий и комбинат

деревообрабатывающий или лесообрабатывающий не комбинат

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

(деревообрабатывающий или лесообрабатывающий) и (комбинат или завод или предприятие)

2. Фразовые запросы (или поиск на точное совпадение)

Фразовые запросы или запросы на точное совпадение обрамляются двойными кавычками. Запрос "а зори здесь тихие" позволит найти документы, содержащие точный вариант введенной фразы. Также фразовые запросы удобно использовать при поиске конкретного фонда по номеру: "Ф. 350"

3. Запросы на близость (на расстояние между словами)

Оператор /n, где n - расстояние между словами, позволяет составить запрос с ограничением на расстояние между словами. К примеру, запрос полярные /1 экспедиции позволит найти документы, в которых встречаются фразы: "о полярных экспедициях", "в экспедициях на полярную станцию", "фотографии участников экспедиций, полярных исследователей", но не позволит найти документы, содержащие только фразу "полярная морская геологоразведочная экспедиция", т.к. расстояние между словами полярная и экспедиция в этом случае равно 2.

Запросы на близость удобно использовать для поиска точного названия учреждений, например фразовый запрос "архангельский городской общественный банк" позволит найти только точные варианты этой фразы. А запрос архангельский /0 городской /0 общественный /0 банк позволит найти все упоминания банка и в различных падежах.

Примеры:

г /0 грозный

ссыльные /4 Россия

4. Регулярные запросы (запросы с использованием шаблонов или масок)

Запросы, с использованием в словах символов ?, *, называются регулярными. Регулярные запросы позволяют наложить гибкие требования на искомые слова. Главное требование ко всем запросам данного вида, присутствие первой буквы в слове.

Знак ? ставится в слове вместо произвольной буквы. Запрос к?мпания позволит найти слова компания и кампания.

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

Запросы ?ука, *ивный - некорректны.

Примеры:

м*рхольд

компьют*

5. Запросы на неточное совпадение (нечеткий поиск)

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

6. Комбинированные запросы

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

Примеры:

косм* не космодемьянск* не косметический

(очерки или статьи или заметки) /5 пушкин

кукуруз* и мурманский и сельское /0 хозяйство

расстрел /5 (николай или царь или царская /0 семья)

репатриация и япон* /0 граждан