public ActionResult SearchSingle(SingleFieldSearchViewModel sfsViewModel) { List <ResultData> result = EBookService.Search(sfsViewModel); var model = new SearchViewModel(sfsViewModel, result); return(Json(model)); }
public List <ResultData> Search(SingleFieldSearchViewModel sfsViewModel) { var results = new List <ResultData>(); string fieldName = sfsViewModel.FieldName.Trim(); string fieldValue = sfsViewModel.FieldValue.Trim(); QueryType queryType = (QueryType)Enum.Parse(typeof(QueryType), sfsViewModel.QueryType); IndexerType type = AnalyzerService.GetIndexerType(sfsViewModel.Language); try { Query query = QueryBuilder.BuildQuery(type, queryType, fieldName, fieldValue); InformationRetriever informationRetriever = new InformationRetriever(type, RAW_DIR_PATH, INDEX_DIR_PATH); var queriedHighlights = new List <string>() { fieldName }; results = informationRetriever.RetrieveEBooks(type, query, queriedHighlights, Sort.INDEXORDER); if (results.Count != 0) { MapLanguageAndCategory(results); } } catch (Exception e) { throw e; } return(results); }