No etechpt.com, eu uso Algolia para pesquisa e, ao testar algumas coisas em torno do Polylang para tradução, percebi que postagens traduzidas começaram a aparecer nos resultados da pesquisa.
Isso foi desagradável e precisávamos encontrar uma maneira de excluir esses registros da Algolia.
Quando entrei no painel do Algolia, pude ver que as postagens traduzidas tinham taxonomias como Francais.
Mas não há como excluir registros do painel. O painel do Algolia é mínimo; eles recomendam usar sua API para gerenciar os registros.
Depois de alguma pesquisa, encontrei uma maneira de excluir essas entradas. Você pode usar cURL ou um cliente HTTP como o Postman.
Você precisa dos seguintes detalhes como pré-requisito:
- ID do aplicativo Algolia
- Chave de API de administrador
- Nome do índice
Os detalhes acima estão em Configurações >> Chaves API no painel Algolia.
Primeiro, vamos fazer uma consulta para confirmar que você está obtendo os registros esperados para garantir que não excluirá mais nada.
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"}'
Não se esqueça de substituir ADMIN_API_KEY, APPLICATION_ID, INDEX_NAME pelos reais.
A consulta acima conseguiu retornar os registros desejados. Agora, estou confiante para excluir os registros usando a consulta abaixo.
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"}'
Se decidir usar o Postman, você pode adicionar os cabeçalhos abaixo.
- X-Algolia-Application-Id
- X-Algolia-API-Key
E aqui estão os resultados bem-sucedidos.
Minha exigência era excluir taxonomias, mas através da API Algolia você pode gerenciar praticamente tudo. Você pode explorar o referência oficial da API de exclusão de registros para mais ideias.