En Geekflare, utilizo Algolia para la búsqueda, y mientras probaba algunas cosas con Polylang para la traducción, me di cuenta de que los mensajes traducidos empezaban a aparecer en los resultados de búsqueda.

algolia-search-result-french

Esto era desagradable, y necesitábamos encontrar una manera de eliminar estos registros de Algolia.

Cuando me conecté al panel de control de Algolia, pude ver que los posts traducidos tienen taxonomías como Francais.

algolia-taxonomies

Pero no hay forma de eliminar registros desde el salpicadero. El salpicadero de Algolia es mínimo; recomiendan utilizar su API para gestionar los registros.

Tras investigar un poco, he encontrado la manera de suprimir estas entradas. Puede utilizar cURL o un cliente HTTP como Postman.

Necesita los siguientes datos como requisito previo:

  • ID de la aplicación Algolia
  • Clave API del administrador
  • Nombre del índice

Los detalles anteriores se encuentran en Configuración >> Claves API en el panel de control de Algolia.

En primer lugar, vamos a realizar una consulta para confirmar que está obteniendo los registros esperados para asegurarnos de que no elimina algo más.

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 '{"consulta": "", "filtros": "taxonomies.language: Français"}'

No olvide sustituir ADMIN_API_KEY, APPLICATION_ID, INDEX_NAME por los suyos reales.

La consulta anterior pudo devolver los registros deseados. Ahora, estoy seguro de eliminar los registros mediante la siguiente consulta.

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 '{"consulta": "", "filtros": "taxonomies.language: Français"}'

Si decide utilizar Postman, puede añadir las siguientes cabeceras.

  • X-Algolia-Application-Id
  • X-Algolia-API-Key
postman-algolia-headers

Y, he aquí los resultados satisfactorios.

algolia-delete-records

Mi requisito era eliminar taxonomías, pero a través de la API de Algolia se puede gestionar prácticamente todo. Puede explorar la referencia oficial de la API de borrado de registros para obtener más ideas.