2016-11-05 6 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 객체는 정의되지 않습니다.

나는 닫을 까? 필터링이 작동하는 것을 알고 나면 같은 쿼리를 삭제 함수에 전달할 수 있습니다.

답변

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); 
관련 문제