2016-11-05 9 views
1

C#apiのAlogliaインデックスからコンテンツを削除しようとしています。特定のファセットのコンテンツをすべて削除するにはどうすればよいですか?

ファセットがどのように機能するかを示すオンラインの例はありません。

私は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関数に渡すことができます。

答えて

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); 
関連する問題