Как удалить весь контент для данного фасета?
Я пытаюсь удалить контент из моего индекса Aloglia в C# API.
Я не могу найти какие-либо примеры в Интернете, которые показывают, как работают аспекты.
До того, как я попробовал команду DeleteByQuery, я пытался заставить работать поиск с теми же критериями.
AlgoliaClient searchClient = new AlgoliaClient("xxx", "xxx");
Index purgeIndex = searchClient.InitIndex("MyTestIndex");
Query purgeQuery = new Query("");
JArray facetFilters = new JArray("versions", "6.12.2");
purgeQuery.SetFacetFilters(facetFilters);
JObject res = purgeIndex.Search(purgeQuery);
Но объект res не определен, когда я запускаю этот код.
Я даже близко? Как только я знаю, что фильтрация работает, я могу передать тот же запрос в функцию удаления.
1 ответ
Я получил это работает.
Вот синтаксис на случай, если кому-то еще нужно удалить все содержимое индекса для данного фасета.
AlgoliaClient searchClient = new AlgoliaClient("x", "x");
Index purgeIndex = searchClient.InitIndex(paramIndex);
Query purgeQuery = new Query("");
JArray facetFilters = new JArray();
JToken facetToken = JToken.Parse("['" + paramFacetName + ":" + paramFacetValue + "']");
facetFilters.Add(facetToken);
purgeQuery.SetFacetFilters(facetFilters);
purgeIndex.DeleteByQuery(purgeQuery);