如何删除给定方面的所有内容

本文关键字:方面 何删除 删除 | 更新日期: 2023-09-27 18:16:26

我正在尝试从c# api中的Aloglia索引中删除内容。

我似乎在网上找不到任何例子来说明facet是如何工作的。

在我尝试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对象是未定义的。

我还差吗?一旦我知道过滤正在工作,我就可以将相同的查询传递给delete函数。

如何删除给定方面的所有内容

我搞定了。

下面是语法,以防其他人需要删除给定facet的所有索引内容。

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);