Odstraňování nechtěných jazykových verzí z Algolie
Při používání vyhledávače Algolia na webu etechblog.cz a současném testování pluginu Polylang pro překlady, jsem si povšiml, že se ve výsledcích vyhledávání začaly objevovat i přeložené varianty článků.
Tento stav byl nežádoucí a bylo nutné nalézt způsob, jak tyto duplicitní záznamy z Algolie odstranit.
Po přihlášení do administrace Algolie jsem zjistil, že přeložené příspěvky jsou označeny taxonomiemi, například „Francais“.
Bohužel, administrátorské rozhraní nenabízí přímou možnost mazání záznamů. Algolia doporučuje spravovat záznamy prostřednictvím svého API, protože dashboard má pouze základní funkcionality.
Po krátkém průzkumu se mi podařilo najít metodu, jak tyto nežádoucí záznamy vymazat. K tomuto účelu lze využít nástroj cURL nebo HTTP klient, jako je Postman.
Pro úspěšné provedení operace jsou nezbytné následující údaje:
- ID vaší Algolia aplikace
- Admin API klíč
- Název indexu
Tyto údaje naleznete v nastavení Algolie, v sekci API klíče.
Než přistoupíte k samotnému mazání, je vhodné ověřit, že získáte správné záznamy. To vám pomůže předejít nechtěnému smazání jiných dat.
Následující příklad ukazuje, jak dotazem ověřit, zda získáte správné záznamy:
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"}'
Nezapomeňte nahradit ADMIN_API_KEY
, APPLICATION_ID
a INDEX_NAME
vašimi skutečnými údaji.
Po ověření, že dotaz vrací požadované záznamy, můžete přistoupit k jejich smazání pomocí níže uvedeného příkazu.
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"}'
Pokud preferujete použití Postmana, vložte následující hlavičky:
- X-Algolia-Application-Id
- X-Algolia-API-Key
A zde je výsledek úspěšné operace smazání.
I když v tomto případě bylo cílem smazat určité taxonomie, prostřednictvím Algolia API můžete spravovat prakticky vše. Více informací naleznete v oficiální dokumentaci API pro odstraňování záznamů.