private void SaveScores(HitsMetaData hits) { scores.Clear(); var guids = new List <string>((int)hits.Total); var i = 1; foreach (var hit in hits.Hits) { if (!scores.ContainsKey(hit.Id)) { guids.Add(hit.Id); scores.Add(hit.Id, i++); } } View.CollectionSource.Criteria[FullTextSearchCriteriaName] = new InOperator(View.ObjectTypeInfo.KeyMember.Name, guids); }
private HitsMetaData DoFuzzySearch(CustomSearchEventArgs customSearchEventArgs, bool wildcard, string searchText) { HitsMetaData hits = null; customSearchEventArgs.Retry = true; if (wildcard) { searchText = searchText.AddStringToWordEnd("~"); } SearchOptions(searchText, true, wildcard, customSearchEventArgs); lastSearchElastic = customSearchEventArgs.Handled; _ElasticCanFuzzy = false; if (!lastSearchElastic) { hits = ElasticSearchClient.Instance.Search(customSearchEventArgs.Indexes, customSearchEventArgs.Types, customSearchEventArgs.Json); } return(hits); }