/// <summary> /// Delete all objects matching a query. /// </summary> /// <param name="query">The query.</param> async public Task DeleteByQueryAsync(Query query) { query.SetAttributesToRetrieve(new string[] { "objectID" }); query.SetAttributesToHighlight(new string[] {}); query.SetAttributesToSnippet(new string[] {}); query.SetNbHitsPerPage(1000); query.EnableDistinct(false); // force distinct=false to improve performances JObject result = await this.BrowseFromAsync(query, null).ConfigureAwait(_client.getContinueOnCapturedContext()); while (((JArray)result["hits"]).Count != 0) { int i = 0; JArray hits = (JArray)result["hits"]; string[] requests = new string[hits.Count]; foreach (JObject hit in hits) { requests[i++] = hit["objectID"].ToObject <string>(); } var task = await this.DeleteObjectsAsync(requests).ConfigureAwait(_client.getContinueOnCapturedContext()); await this.WaitTaskAsync(task["taskID"].ToObject <String>()).ConfigureAwait(_client.getContinueOnCapturedContext()); result = await this.SearchAsync(query).ConfigureAwait(_client.getContinueOnCapturedContext()); } }
public async Task<JToken> GetBooksAsync(string searchString, int pageNumber, int pageSize) { var query = new Query(searchString); query.SetNbHitsPerPage(pageSize); query.SetPage(pageNumber); query.SetAttributesToRetrieve(new[] { "objectId", "title", "author", "author_first" }); query.SetAttributesToHighlight(new string[] { }); var queryResult = await this.PrimaryIndex.SearchAsync(query); JToken returnValue; return queryResult.TryGetValue("hits", out returnValue) ? returnValue : null; }
public void TestBigQueryNone() { clearTest(); _index.AddObject(JObject.Parse(@"{""firstname"":""Jimmie J"" , ""Age"":42, ""lastname"":""Barninger"", ""_tags"": ""people"" , ""_geoloc"":{""lat"":0.853409, ""lng"":0.348800}}")); var task = _index.SetSettings(JObject.Parse(@"{""attributesForFaceting"": [""_tags""]}")); _index.WaitTask(task["taskID"].ToString()); Query query = new Query("Jimmie"); query.SetPage(0); query.SetOptionalWords("J"); query.SetNbHitsPerPage(1); string[] attr = { "firstname" }; query.SetAttributesToHighlight(attr); query.SetMinWordSizeToAllowOneTypo(1); query.SetMinWordSizeToAllowTwoTypos(2); query.EnableDistinct(true); query.EnableAdvancedSyntax(true); query.GetRankingInfo(true); query.EnableTypoTolerance(false); query.SetAttributesToRetrieve(attr); query.SetAttributesToSnippet(attr); query.SetMaxValuesPerFacets(1); query.InsideBoundingBox(0, 0, 90, 90); query.AroundLatitudeLongitude(0, 0, 2000000000, 100); string[] facetFilter = { "_tags:people" }; string[] facets = { "_tags" }; query.SetFacetFilters(facetFilter); query.SetFacets(facets); query.SetTagFilters("people"); query.SetNumericFilters("Age>=42"); query.SetQueryType(Query.QueryType.PREFIX_NONE); query.SetRemoveWordsIfNoResult(Query.RemoveWordsIfNoResult.LAST_WORDS); var res = _index.Search(query); Assert.AreEqual(1, res["nbHits"].ToObject<int>()); Assert.AreEqual("Jimmie J", res["hits"][0]["firstname"].ToString()); _client.DeleteIndex(safe_name("àlgol?à-csharp")); }