Dela_full - and-se/nmbook_webapi GitHub Wiki

Полные биографии автоматически (иногда с участием корректора) строятся на основе биографий для редактирования.

В отличие от последних, они содержат развёрнутый набор полей с целью удобства анализа информации:

  • К ФИО добавляется массив Части_фио, который содержит все варианты фамилии, имени и отчества в виде троек наподобие (имя, Иоанн, монашеское). Также добавляются строковые поля фамилия, имя, отчество, содержащие одно "главное" значение.
  • добавляются объекты Рождение и Кончина для удобного получения информации о годах жизни (хотя она и содержится в массиве событий)
  • У событий добавляются:
    • объекты Начало и Окончание с по возможности разобранными датировками начала и окончания события
    • массив Поисковые_даты с интервалами точных дат, соответствующих датировке событий
  • добавляется массив Фотографии для удобства работы с этим видом приложенных файлов. У каждой фотографии есть ссылка на сжатую версию, что удобно для отображения на веб-страницах.
  • Массив Все_источники, собирающий воедино все источники информации - как прикреплённые к событиям (что всячески приветствуется историками), так и не прикреплённые (что всячески порицается).
  • Массив Все_связи, собирающий воедино все связи с другими людьми.
  • и прочая и прочая, когда этот список устареет...

ℹ️ Актуальную Json-схему биографии для редактирования можно найти в Swagger UI (/docs) - см. объект DeloFull. Также при помощи него можно выполнять описанные ниже запросы.

Работа

Все действий выполняются посредство url /public/dela, но можно выполнять только операции чтения. Набор параметров и формат ответа аналогичен биографиям для редактирования, здесь же мы опишем дополнительные возможности.

Список биографий

GET /public/dela. Дополнительные параметры:

  • text_filter - строка для полнотекстового поиска
    • в результаты добавляется поле пояснение, которое содержит кусочек текста биографии с выделенными искомыми словами - см. пример ниже.
    • результаты сортируются по релевантности, а не по ФИО, как обычно.
  • fio_filter - фильтр по вхождению подстроки в ФИО (он не дополнительный, просто напоминаем 😉)
  • filter - произвольный фильтр по данным - см. подробнее в описании языка запросов api

    ⚠️ В запросе можно использовать только один фильтр - fio_filter, text_filter либо filter

  • Кроме доступных в /editor/dela полей, искать (filter) и сортировать можно также по полям birth_year (год рождения) и death_year (год кончины).

Например, /public/dela?text_filter=тутаев собор воскресенский будет искать все документы, в которых встречаются эти 3 слова в любом месте и любой словоформе:

{
  "success": true,
  "items": [
    {
      "Номер": 6204,
      "ФИО": "ГОЛИКОВ Михаил Алексеевич",
      "сан_церк_служение": "протоиерей",
      "год_рождения": 1876,
      "год_кончины": 1938,
      "пояснение": " ... 1898 — Рукоположен во диакона, затем во иерея к <mark>Воскресенскому</mark> <mark>собору</mark> г. Романово-Борисоглебска (г. <mark>Тутаев</mark>).\n1919–1929 — Настоятель (в сане протоиерея) <mark>Воскресенского</mark> <mark>собора</mark> г. Тутаева, благочинный.\n1923–1925 — Председатель церковного ... "
    },
    {
      "Номер": 3851,
      "ФИО": "ВАРЛААМ (Аладьин Василий Иванович)",
      "сан_церк_служение": "монах",
      "год_рождения": 1910,
      "пояснение": " ... Был старостой <mark>Воскресенского</mark> <mark>собора</mark> г. Тутаева.\nПосле смерти жены был пострижен в мантию епископом Рыбинским Варлаамом (Пикаловым). Работал в г. Ярославле на заводе «Победа рабочих».\n1935, 31 октября — Арестован.\n1935 ... "
    }
  ],
  "items_count": 2,
  "total_docs_count": 2,
  "has_next": false,
  "skip": 0,
  "take": 20
}

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

ℹ️ Полнотекстовый поиск упорядочивает документы по релевантности, поиск по фио - по fio.

Получение биографии

GET public/dela/{key} позволяет получить все данные биографии.

⚠️ **GitHub.com Fallback** ⚠️