Як видалити таксономії з Algolia

Видалення таксономій з Algolia: Покрокова інструкція

На сайті techukraine.net для пошуку використовується Algolia. Під час тестування Polylang з метою перекладу, я виявив, що перекладені матеріали почали з’являтися в результатах пошуку Algolia.

Це викликало незручності, тому виникла потреба усунути ці записи з Algolia.

Увійшовши до панелі керування Algolia, стало очевидним, що перекладені публікації ідентифіковані таксономіями, зокрема французькою мовою.

Проте, панель керування не надає прямого способу для видалення записів. Інтерфейс Algolia досить мінімалістичний, і для управління записами рекомендовано використовувати їхній API.

Після додаткового дослідження, я знайшов метод для видалення цих записів, використовуючи cURL або HTTP-клієнт, наприклад Postman.

Для виконання операції, необхідні наступні дані:

  • Ідентифікатор застосунку Algolia
  • Ключ API адміністратора
  • Ім’я індексу

Ці дані можна знайти в розділі “Налаштування” >> “Ключі API” на панелі керування Algolia.

Спочатку, виконаємо запит, щоб переконатися, що ви отримуєте саме ті записи, які потрібно видалити. Це дозволить уникнути випадкового видалення іншої інформації.

    curl -X POST \
         -H "X-Algolia-API-Key: ADMIN_API_KEY" \
         -H "X-Algolia-Application-Id: APPLICATION_ID" \
         "https://APPLICATION_ID.algolia.net/1/indexes/INDEX_NAME/query" \
         --data '{"query": "", "filters": "taxonomies.language: Français"}'
  

Зверніть увагу на необхідність заміни ADMIN_API_KEY, APPLICATION_ID та INDEX_NAME на ваші особисті.

Цей запит має повернути перелік записів, які ви хочете видалити. Переконавшись, що запит правильний, можна переходити до видалення.

    curl -X POST \
         -H "X-Algolia-API-Key: ADMIN_API_KEY" \
         -H "X-Algolia-Application-Id: APPLICATION_ID" \
         "https://APPLICATION_ID.algolia.net/1/indexes/INDEX_NAME/deleteByQuery" \
         --data '{"query": "", "filters": "taxonomies.language: Français"}'
  

Якщо ви використовуєте Postman, додайте наступні заголовки:

  • X-Algolia-Application-Id
  • X-Algolia-API-Key

Нижче показано приклад успішного виконання запиту.

В моєму випадку, метою було видалення таксономій, але за допомогою Algolia API можна виконувати багато інших операцій. Додаткову інформацію про можливості API можна знайти в офіційній документації Algolia.