public void SearchResultsClassificationQualityFilter_ShouldReturnAllFilteredResultsForSameWebSearch() { WebSearchClassifyResult result1 = new WebSearchClassifyResult() { Result = "falafel", Propability = 0.56, SearchResult = new WebSearchResult() { SearchEngine = "Google", Source = "www.test1.com", Snippet = "פלפליה מקומית, וגם חומוס, הזמנת משלוחים" } }; WebSearchClassifyResult result2 = new WebSearchClassifyResult() { Result = "Hummus", Propability = 0.52, SearchResult = new WebSearchResult() { SearchEngine = "Google", Source = "www.test1.com", Snippet = "פלפליה מקומית, וגם חומוס, הזמנת משלוחים" } }; WebSearchClassifyResult result3 = new WebSearchClassifyResult() { Result = "kebab", Propability = 0.53, SearchResult = new WebSearchResult() { SearchEngine = "Google", Source = "www.test2.com", Snippet = "בשרים על האש" } }; List<WebSearchClassifyResult> notQualifiedList = new List<WebSearchClassifyResult>() { result1, result2, result3 }; SearchResultsClassificationQualityFilter filter = new SearchResultsClassificationQualityFilter(notQualifiedList); //act var qualifiedResults = filter.Qualify(); //Assert Assert.IsNotNull(qualifiedResults); Assert.IsTrue(qualifiedResults.Count == 2); Assert.IsTrue(qualifiedResults[0].Propability == 0.56); Assert.IsTrue(qualifiedResults[1].Propability == 0.52); }
public static List<WebSearchClassifyResult> ClassifyWebSearchQueryUnit(RestaurantQueryPattern queryUnit, string classifierName, WebSearchResult searchResult) { if (!string.IsNullOrEmpty(searchResult.Snippet)) { queryUnit.Description = searchResult.Snippet; log.DebugFormat("[ClassifyWebSearchQueryUnit] classifierName={0}, queryUnit={1}.", classifierName, queryUnit.ToString()); var classifierResults = ClassifyQueryUnit(queryUnit, classifierName); if (classifierResults != null || classifierResults.Count > 0) { List<WebSearchClassifyResult> returnList = new List<WebSearchClassifyResult>(); foreach (var result in classifierResults) { WebSearchClassifyResult tempResult = new WebSearchClassifyResult(result, searchResult); returnList.Add(tempResult); } return returnList; } else { log.WarnFormat("[ClassifyWebSearchQueryUnit] Classifier results is null or empty. queryUnit.Name={0}, queryUnit.Description={1}.", queryUnit.Name, queryUnit.Description); } } else { log.ErrorFormat("[ClassifyWebSearchQueryUnit] WebSearchResult Snippet can't be null or empty."); } return null; }