Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
Опыт и разработки пользователей ИРБИС :  ИРБИС Irbis
 
Полнотекстовый поиск по электронному каталогу. IrbisSearchTools.
Пользователь: exieros (IP-адрес скрыт)
Дата: 28, March, 2022 06:04

В общем api уже есть, бот готов, инструмент обновил. Бота можно пощупать тут [t.me]

Схема следующая:

1) Базы mst индексируются в Manticore(форк Sphinx). При индексации записей сохраняем byte_low позицию в файле базы данных. Благодаря этому при следующей индексации мы просто берем максимальный byte_low и сканируем .mst с этой позиции. Все базы хранятся в одном индекса но отличаются по атрибуту.

2) Реализовано простейшее api/search. В данный момент пока поддерживается полнотекстовый поиск по всем полям, по ключевым словам, фильтр по базе данных, фильтр по дате публикации( поля 210[0].A, 463[0].J, 461[0].H ). А так же два вспомогательных api/startIndex, api/getIndexedDatabaseList. Первый запускает процесс индексации при условии, что прошлый не упал с ошибкой и копии не запущено. Второй показывает статистику по индексу, какие базы в ней лежат и сколько документов в каждой из них.

3) Реализован простейший бот, умеет пока что в полнотекстовый поиск. В дальнейшем планирую реализовать механизм цепочек запросов (добавлять уточняющие фильтры). Функция расформатирования записей опциональная php<->irbis. В первом случае можно самому описать логику класса, который на вход получает массив полей. Во втором требуется соединение с сервером ирбис и расформатирование производится им по Guid записи.

4) Все это работает под nginx и опционально еще можно запустить Ngrok(хук для телеграм бота автоматически устанавливается).

Все настройки теперь находятся в едином файле конфигурации.
https://drive.google.com/uc?export=download&confirm=no_antivirus&id=1z3yeU2Dbtgf6RlLnRTwP4VzPQWMGh_mD


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

Вокруг api в дальнейшем можно уже плагин для wordpress написать.

В библиотечном деле и в разработке в целом недавно, но мне пока нравится. Есть над чем работать.
Написать можно всегда в тг @tsfex
[maglib.ru]




Редактировано 38 раз. Последний раз 29.04.2022 08:58 пользователем exieros.

Re: Полнотекстовый поиск по электронному каталогу. IrbisSearchTools.
Пользователь: exieros (IP-адрес скрыт)
Дата: 29, April, 2022 08:58

upd. Веду OpenApi чтобы сходу было понятно что это вообще за api и зачем оно нужно. Там же можно его и потестить нажав "try it out".

[81.89.113.142:81]



Редактировано 4 раз. Последний раз 04.05.2022 03:48 пользователем exieros.

Re: Полнотекстовый поиск по электронному каталогу. IrbisSearchTools.
Пользователь: Konstantinus (IP-адрес скрыт)
Дата: 14, May, 2022 21:06

Интересно понять механизм 1-2-3 для запуска телеграмм-бота.
Возможно пока только для поиска.
Может в результате сможем составить совместно инструкцию.



Извините, только зарегистрированные пользователи могут писать в этом форуме.
This forum powered by Phorum.