Comment supprimer des taxonomies d'Algolia
Gérer les entrées indésirables d'Algolia liées à Polylang
Sur toptips.fr, j'utilise la solution de recherche Algolia. Récemment, en effectuant des tests avec Polylang pour la gestion des traductions, j'ai constaté que des articles traduits commençaient à apparaître dans les résultats de recherche.
Cette situation était problématique et nécessitait une action pour supprimer ces enregistrements d'Algolia.
Après m'être connecté au tableau de bord d'Algolia, j'ai pu identifier que les articles traduits étaient associés à des taxonomies en français.

Cependant, le tableau de bord ne propose pas de fonctionnalité pour supprimer directement des enregistrements. En effet, Algolia met en avant l'utilisation de son API pour la gestion des données.
Après quelques recherches, j'ai trouvé une méthode pour supprimer ces entrées, en utilisant soit cURL, soit un client HTTP comme Postman.
Pour cela, vous aurez besoin des informations suivantes :
- L'identifiant de votre application Algolia.
- La clé API d'administration.
- Le nom de l'index concerné.
Vous trouverez ces informations dans les paramètres, section Clés API, de votre tableau de bord Algolia.
Avant de procéder à la suppression, il est conseillé d'effectuer une requête pour vérifier que vous ciblez bien les enregistrements souhaités. Cela vous évitera de supprimer des données importantes par erreur.
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"}'
Assurez-vous de remplacer ADMIN_API_KEY, APPLICATION_ID et INDEX_NAME par vos valeurs respectives.
Si la requête ci-dessus renvoie les enregistrements que vous souhaitez supprimer, vous pouvez alors exécuter la requête suivante pour les supprimer:
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"}'
Si vous préférez utiliser Postman, il suffit d'ajouter les en-têtes suivants à votre requête:
- X-Algolia-Application-Id
- X-Algolia-API-Key

Voici le résultat confirmant que la suppression a bien été effectuée.

Bien que mon objectif initial était de supprimer les taxonomies, l'API d'Algolia offre un large éventail de possibilités. Vous pouvez consulter la documentation officielle de l'API de suppression d'enregistrements pour explorer toutes les options disponibles.