МИИТ

Поиск в электронном каталоге

Общее описание

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

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

Многие поисковые серверы при поиске текста используют индексы и такое понятие как "релевантность" - степень соответствия искомого запроса найденному результату.

Поиск в нашем электронном каталоге основан на применении технологии Oracle Text и сочетает в себе все преимущества простого и сложного поиска. С одной стороны, пользователь может просто ввести нужные слова (через пробел) и сразу получить результат, не затрачивая времени на изучение правил поиска. С другой стороны, продвинутый пользователь может применить специальные команды и сформировать уточнённый запрос, который более точно поможет ему в поиске.

Поиск в электронном каталоге делится на 2 режима поиска: простой и расширенный.

Рассмотрим работу с каждым из них более подробно.


Простой поиск

Итак, если Вы хотите найти какую-то запись в электронном каталоге, просто наберите в строке поиска слово или словосочетание, которое должно встречаться в этой книге. Например, набираем ‘высшая математика’ и нажимаем кнопку "Найти":

параметры поиска

Галочка "Точная фраза" требует наличия полного соответствия введённой фразы в документе, в противном случае будут найдены документы, содержащие все введённые слова. Признак поиска по полнотексту требует искать эту фразу в полном тексте издания, если оно имеется в каталоге.

Если Вы при этом хотите осуществить поиск в конкретном абонементе, то выберите его из списка абонементов.

При этом Ваше выражение будет автоматически переведено на язык запросов и отправлено на сервер для обработки. Результат поиска Вы увидите на этой же странице.

Работа с результатом поиска

результат поиска

В верхней части страницы размещён фильтр по абонементам, а также указаны введённые Вами параметры поиска (поле "Вы искали") и сформированный запрос, отправленный на сервер поиска (поле "Запрос").

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

Результат поиска разбивается на страницы по 10 записей и отсортирован по убыванию релевантности (степени соответствия запросу), а затем (при одинаковой релевантности) – по заглавию. Каждую запись можно отложить на свою полку в личном кабинете (требуется регистрация). Если издание есть в абонементах МИИТ, то его можно заказать, при этом издание просто помечается, как заказанное для облегчения его поиска библиотекарю, но не резервируется на книговыдаче. Если издание уже находится на полке или заказано, то состояние кнопок изменится на противоположное действие:

кнопки управления

При нажатии на кнопку "Подробно" открывается подробное описание этой записи с указанием всей информации, введённой по этой записи в электронном каталоге:

подробно

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

Найденный результат можно уточнить (отфильтровать) по абонементам и филиалам библиотек из выпадающего списка:

выбор абонемента

После выбора из выпадающего списка абонемента (или филиала библиотеки) Вы увидите результат поиска только по этому абонементу/филиалу:

фильтр по абонементу

Расширенный поиск

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

Для уточнения поиска и формирования сложных запросов в нашем электронном каталоге существует несколько способов. Рассмотрим самый простой из них – расширенный поиск по полям (разделам).

Строго говоря, по всему электронному каталогу построен индекс, включающий в себя следующие иерархические разделы:

  • edition – Блок сведений об издании
    • parent – Родительские издания
    • titles – Сведения о заглавии
      • id_edition – id издания
      • name – Заглавие
      • data_to_title – Сведения, относящиеся к заглавию
      • summary – Аннотация
      • cover_title – Заглавие обложки
      • translation – Переводы издания
      • partition – Сведения о делении (том, часть, выпуск)
    • numbers – Номер методички, ГОСТа и т.д.
      • identifier – номер
      • gost – Сведения о ГОСТе (срок действия, что изменил и т.д.)
  • characters – Характеры
    • kind – вид издания
    • type – тип издания
    • character – характер издания
  • keyword – Ключевые слова
  • classification – Коды классификаций (УДК, ISBN, ISSN)
  • authors – Авторы
    • author – Авторы (соавторы, редакторы, составители и т.д.)
    • responsibility – Сведения об ответственности
    • responsibility_next – Сведения о последующей ответственности
  • publishing_house – Издательства

По каждому из этих разделов можно осуществлять поиск. При расширенном поиске поисковый запрос разделяется на несколько разделов:

расширенный поиск

Здесь:

  • Заглавие – соответствует разделу titles
  • Автор – соответствует разделу authors
  • Ключевые слова – соответствует разделу keyword
  • Номер методички – соответствует разделу numbers
  • Код классификации – соответствует разделу classification
  • Издательство – соответствует разделу publishing_house
  • Вид издания – соответствует разделу characters

Напротив каждого поля можно указать признак поиска точной фразы в этом разделе, в противном случае будут найдены документы, содержащие все введённые слова в этом разделе:

расширенный поиск - результат

Обратите внимание на сформированный запрос: каждое слово разделилось фразой "and", потому что не был указан признак поиска точной фразы, и в конце указан раздел, в котором необходимо осуществлять поиск: "WITHIN titles".

Однако, даже теперь результат поиска вернул 79 записей, что не вполне может устраивать.

Добавим ещё фамилию автора (например, он известен):

расширенный поиск - фамилия

и выполним повторный поиск с указанным автором:

результат поиска

Теперь результат поиска достаточно точный - найдена всего одна запись в каталоге. Конечно, это идеальный пример и так в жизни бывает редко, но зато он наглядно демонстрирует возможности расширенного поиска.

Обратите внимание на запрос, который сформирован после ввода параметров:

Запрос

строительство and железных and дорог WITHIN titles and шабалина WITHIN authors

На его основе мы можем сформировать новый, более сложный и составной, насколько нам необходимо, ввести его на странице простого поиска, задать параметр точной фразы и послать его таким образом на сервер:

сложный поиск

реультат поиска

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

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

При использовании индекса Oracle Text в строке поиска можно использовать ключевые слова и команды управления поиском. Их набор очень широк и полностью приводится в документации Oracle по адресу:

http://www.oracle.com/technology/products/text/index.html

Приведём описания наиболее простых и часто используемых из них:

Оператор Символ Описание Пример выражения
AND & Документы, в которые хотя бы один раз входит каждое из слов алгебра AND геометрия
алгебра & геометрия
OR | Документы, в которые хотя бы один раз входит любое из слов алгебра OR геометрия
алгебра | геометрия
NOT ~ Документы, в которые входит одно слово, но не входит другое Документы, в которых есть слово алгебра, но нет слова геометрия:
алгебра ~геометрия
$ $ Ищет слова с одним корнем – словом, написанным в запросе Найти документы, содержащие все однокоренные слова со словом математика:
$математика
Найдены будут и все слова вида "математический", "математике", "математику" и т.п.
\ \ Скрывающий символ. Для того, чтобы скрыть символ от обработки, перед ним необходимо поставить такой знак. Чтобы искать такой символ в тексте, его необходимо ввести дважды. Найти записи с кодом ISBN 5-7598-0030-2:
5\-7598\-0030\-2
Фигурные скобки {} Для того, чтобы скрыть текст от обработки, необходимо его заключить в фигурные скобки. Всё, что находится внутри фигурных скобок, считается строкой поиска и не обрабатывается поисковой машиной как часть запроса. Найти записи с кодом ISBN 5-7598-0030-2:
{5-7598-0030-2}

Примеры поиска

Цель. Найти издания по высшей математике.

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

реультат поиска

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

Решение. Воспользуемся режимом простого поиска с применением управляющих команд. Введём строку "($высшая $математика) ~Белоцерковский within authors", поставим галочку "точной фразы", чтобы наш запрос не был изменён, и "искать в тексте" для поиска в полном тексте документа, если он есть.

Таким образом задан поиск записей в каталоге, в которых присутствуют однокоренные слова к двум заданным словам: "высшая" и "математика" (всё равно где – в заглавии, ключевых словах, аннотации, полном тексте документа, если он есть и т.д.), исключая значения Белоцерковский в разделе авторов.

реультат поиска

Университет