Vocab Bloom Hub

Переход с freedictionaryapi.com

Если приложение использует freedictionaryapi.com, замените базовый URL на адрес экземпляра Vocab Bloom Hub и сохраните путь поиска английского слова. Адаптер возвращает привычный ответ { word, entries, source } и добавляет поле vocabBloom со сведениями об источниках. Данные берутся из активного датасета вашего экземпляра. Внешний сервис по умолчанию использует Wiktionary, а экземпляр проекта — собственный датасет.

Замените базовый URL

Базовый URLПуть поиска
Раньшеhttps://freedictionaryapi.com/api/v1/entries/en/hello?translations=true
Теперьhttps://<ваш-экземпляр>/api/compat/freedictionaryapi/v1/entries/en/hello?translations=true

Например:

curl -fsS 'https://vocab-bloom-hub.com/api/compat/freedictionaryapi/v1/entries/en/hello?translations=true'
curl -fsS 'https://vocab-bloom-hub.com/api/compat/freedictionaryapi/v1/languages?pretty=true'

Запросы анонимные и доступны только для чтения. Адаптер не обращается к freedictionaryapi.com. Параметры translations и pretty принимают строчные true и false; по умолчанию переводы не включаются. Регистр слова учитывается. Для отсутствующего слова возвращается 200 с пустым entries. en и all читают английскую базу; для других языковых кодов возвращаются пустые записи. /languages перечисляет только английский язык, хотя внутри английских записей могут быть переводы на другие языки.

Адаптер не принимает ?dataset=.... Чтобы получать ответ в этом формате из другого датасета, установите его на экземпляр с PostgreSQL и активируйте в админке. Это изменит датасет всех публичных запросов к экземпляру. В SQLite есть только default.

Чтение всех датасетов в этом формате

Добавьте /datasets к пути адаптера. Параметры translations и pretty тоже поддерживаются:

curl -fsS 'http://localhost:3240/api/compat/freedictionaryapi/v1/entries/en/hello/datasets?translations=true&pretty=true'

Это расширение Vocab Bloom Hub читает все установленные датасеты без переключения активного. Общий ответ — { data, meta }. Каждая группа в data[] содержит условия своего датасета (включая dataset, title, active, source и лицензии), status: 200 и полный объект адаптера { word, entries, source, vocabBloom } в поле response.

В каждом датасете учитывается регистр. Если слово отсутствует или язык не поддерживается, response.entries будет пустым, как у обычного адаптера. HTTP-статус всего запроса — 200, даже если пусты все группы. meta содержит запрошенные word и language, число datasets и found — сколько датасетов вернули непустые записи.

Например, получите ответ OpenGloss:

curl -fsS 'http://localhost:3240/api/compat/freedictionaryapi/v1/entries/en/hello/datasets?translations=true' \
  | jq '.data[] | select(.dataset == "opengloss") | .response'

В ответ входят только установленные датасеты. На SQLite доступен только default. Условия указывают именно прочитанный датасет; пустой результат ссылается на этот маршрут по всем датасетам, поскольку /api/v1/meta описывает только активный. Обычный путь адаптера сохраняет свой формат и читает активный датасет. Полный контракт — в описании API.

Проверьте клиент перед переходом

  • Адаптер сохраняет word, entries, source, senses, формы и поддерживаемые translations, но содержание и число значений, форм и тегов зависят от датасета.
  • При хранении и распространении результатов сохраняйте vocabBloom со сведениями о лицензиях и происхождении. Одно поле source.license не выражает все условия источников.
  • Внешний сервис поддерживает больше языков поиска. Здесь хранятся английские заголовочные слова; переводы внутри их записей не являются отдельными словарями других языков.
  • У экземпляра свои лимит запросов и правила кэша. Проверьте важные слова, регистр, отсутствие слова и translations=true до переключения рабочего трафика.

Подробности полей и HTTP-поведения — в разделе совместимости с freedictionaryapi.com. Установка и активация описаны на странице «Датасеты».

Снимки ответов в сравнении на сайте

Сайт использует сохранённые ответы оригиналов для девяти готовых слов и поддерживаемых вариантов версии и переводов. JSON входят в репозиторий и обновляются вручную командой yarn workspace site comparisons:generate (--missing-only повторяет загрузку отсутствующих или неудачных снимков). Сборка, запуск и просмотр сайта не обращаются к оригиналам. Показана дата получения. При неудачном обновлении сохраняется предыдущий успешный снимок с предупреждением, а при его отсутствии — ошибка. Датасеты экземпляра запрашиваются в реальном времени.

Сравнение ответов

Ответы оригинального сервиса сохранены и обновляются вручную. То же английское слово запрашивается во всех установленных датасетах экземпляра в формате FreeDictionaryAPI.com.

По умолчанию скрыты только расширения vocabBloom. Остальные поля, значения и порядок элементов сохранены, включая источники и лицензии. Атрибуция доступна в условиях датасета. Ответы оригиналов обновляются вручную; просмотр, сборка и запуск сайта не вызывают внешние сервисы.

Результаты для «hello»

Оригинальный сервис · FreeDictionaryAPI.com

Загрузка…

Датасеты экземпляра

Загрузка…