Example #1
0
        public SearchResponse Search(SearchRequest request)
        {
            var result = new SearchResponse();

            if (string.IsNullOrEmpty(request.Query))
            {
                return(result);
            }
            result.Results = new List <Entry>();

            var payers    = payerManager.All();
            var searchers = new List <IndexSearcher>();

            foreach (var directoryPath in System.IO.Directory.GetDirectories(luceneDir))
            {
                var directoryName = Path.GetFileName(directoryPath);
                if (payers.Any(p => p.PayerId == directoryName))
                {
                    searchers.Add(new IndexSearcher(GetDirectory(directoryPath)));
                }
            }

            using (var searcher = new MultiSearcher(searchers.ToArray()))
            {
                var hitsLimit = short.MaxValue;
                using (var analyzer = new StandardAnalyzer(version))
                {
                    var query          = CreateQuery(request, analyzer);
                    var hits           = searcher.Search(query, hitsLimit).ScoreDocs;
                    var searchResponse = CreateSearchResponse(searcher, hits, request);
                    result.Results.AddRange(searchResponse);
                }
            }
            return(result);
        }
Example #2
0
 public IList<PayerModel> GetAvailablePayers()
 {
     return payerManager.All().Select(p => new PayerModel(p)).ToList();
 }
Example #3
0
        public ActionResult All()
        {
            var result = payerManager.All();

            return(Json(result));
        }