Поиск для чайников

Класс IrbisTeapot поддерживает так называемый “поиск для чайников”, т. е. запрос на языке, максимально приближенном к естественному, когда Web-приложение пытается самостоятельно найти документы, удовлетворяющие запросу.

Класс Teapot предоставляет следующие поля для настройки:

Поле

Тип

Назначение

prefixes

array

Массив префиксов для терминов (см. ниже).

suffix

string

Суффикс для терминов (по умолчанию '$').

settings

RelevanceSettings

Настройки для оценки релевантности (см. ниже).

limit

int

Максимальное количество возвращаемых записей.

По умолчанию используются следующий набор префиксов:

Префикс

Поисковый атрибут

A=

Индивидуальный автор/редактор

T=

Поиск по заглавию

M=

Коллективный автор (например, конференция)

K=

Ненормированное ключевое слово

Суффикс может иметь любое из следующих значений

Суффикс

Значение

‘’

Пустая строка означает точное совпадение

‘$’

Совпадение с точностью до конца термина

‘@’

Поиск с учетом русской морфологии

Класс RelevanceSettings содержит следующие поля

Поле

Тип

Назначение

coefficients

array

Массив коэффициентов релевантности (см. ниже).

extraneous

double

Релевантность для упоминаний в посторонних полях (по умолчанию 1).

multiplier

double

Мультипликатор для случая полного совпадения (по умолчанию 2).

Класс RelevanceCoefficient предназначен для хранения коэффициентов релевантности и содержит следующие поля

Поле

Тип

Назначение

fields

array

Массив меток полей, для которых действует данный коэффициент.

value

double

Собственно значение коэффициента.

По умолчанию используется следующий набор коэффициентов для библиографической базы IBIS

Метки полей

Коэффициент

Назначение поля

ЗАГЛАВИЕ ИЛИ АВТОРЫ

200

10

Основное заглавие

700, 701

10

Индивидуальные авторы

710, 711, 971, 972

10

Коллективные авторы

923

10

Выпуск, часть

922

10

Статья сборника

925

10

Несколько томов в одной книге

961

10

Индивидуальные авторы

962

10

Коллективные авторы в общей части

461

10

Заглавие общей части

463

10

Издание, в котором опубликована статья

РЕДАКТОРЫ

702

7

Редакторы

ПРОЧИЕ ЗАГЛАВИЯ

510

7

Параллельное заглавие

517

7

Разночтение заглавия

541

7

Перевод заглавия

924

7

“Другое” заглавие

921

7

Транслитерированное заглавие

СОДЕРЖАНИЕ

330

6

Оглавление

922

6

Статья из журнала

РУБРИКИ

606

5

Предметная рубрика

607

5

Географическая рубрика

600, 601

5

Персоналия

965

5

Дескриптор

СЕРИЯ

225

4

Серия

КЛЮЧЕВЫЕ СЛОВА

610

3

Ненормированное ключевое слово

331

3

Аннотация

При необходимости настройки для оценки релевантности можно загрузить из json-файла с помощью метода RelevanceSettings::load($filename).