//for debugging public static string GetColumns(RESTSearchResultsSerialized results) { string cols = string.Empty; int i = 0; foreach (ResultCell cell in results.SearchResults.Rows[0].Cells.OrderBy(p => p.Key)) { cols += cell.Key + " (" + cell.ValueType + ")"; if (i <= results.SearchResults.Rows.Count - 2) { cols += ","; } i++; } return(cols); }
public static RESTSearchResultsSerialized ProcessResults(RESTSearchResults res, SearchInputs inputs) { RESTSearchResultsSerialized SerializedResults = new RESTSearchResultsSerialized(); SerializedResults.Inputs = inputs; if (res != null) { SerializedResults.ExecutionTime = res.ElapsedTime; if (res.PrimaryQueryResult != null && res.PrimaryQueryResult.RelevantResults != null) { SerializedResults.TotalRows = res.PrimaryQueryResult.RelevantResults.TotalRows; SerializedResults.ResultRows = res.PrimaryQueryResult.RelevantResults.RowCount; SerializedResults.ResultTitle = res.PrimaryQueryResult.RelevantResults.ResultTitle; SerializedResults.SearchResults = res.PrimaryQueryResult.RelevantResults.Table; SerializedResults.ResultTitleUrl = res.PrimaryQueryResult.RelevantResults.ResultTitleUrl; } else { SerializedResults.TotalRows = 0; SerializedResults.ResultRows = 0; } SerializedResults.SpellingSuggestions = res.SpellingSuggestion; // set SourceId from execution results Guid sid = Guid.Empty; SearchProperty SourceId = res.Properties.Where(p => p.Key.Equals("sourceid", StringComparison.InvariantCultureIgnoreCase)).First(); if (SourceId != null && Guid.TryParse(SourceId.Value, out sid)) { SerializedResults.Inputs.SourceId = sid; } } return(SerializedResults); }