Поиск для чайников
Класс 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)
.