Exemple #1
0
        public SearchResultContext <SearchModelBase> Search()
        {
            var requester    = new SearchOperation();
            var queryContext = new QueryContext {
                Client = Configuration.ClientGuid.ToString()
            };

            for (var a = 0; a < SearchClients.Count; a++)
            {
                SearchClients[a].Query.QueryId = a + 1;
                QueryIdToClient.Add(SearchClients[a].Query.QueryId, SearchClients[a]);
                queryContext.Querys.Add(SearchClients[a].Query);
            }


            var jsonData = requester.PreformSearch(JsonConvert.SerializeObject(queryContext, Formatting.None), Configuration);
            var result   = JsonConvert.DeserializeObject <SearchResultContext <SearchModelBase> >(jsonData, new JsonSerializerSettings {
                TypeNameHandling = TypeNameHandling.All
            });

            foreach (var searchResult in result.SearchResults)
            {
                var client      = QueryIdToClient[searchResult.QueryId];
                var fcm         = new FacetContextMerger <SearchModelBase>();
                var genericType = client.GetType().IsGenericType ? client.GetType().GetGenericArguments()[0] : null;

                fcm.MergeFacets(result.CrawlStamp, searchResult.Facets, client.IncEmptyFacets, client.Lang, genericType);
            }
            return(result);
        }
Exemple #2
0
        public SearchResult <T> Search()
        {
            var requester = new SearchOperation();
            var jsonSerializerSettings = new JsonSerializerSettings {
                TypeNameHandling = TypeNameHandling.All
            };
            var jsonData = requester.PreformSearch(JsonConvert.SerializeObject(ConvertExpression(), Formatting.None), Configuration);
            var result   = JsonConvert.DeserializeObject <SearchResultContext <T> >(jsonData, jsonSerializerSettings);

            var fcm = new FacetContextMerger <T>();

            fcm.MergeFacets(result.CrawlStamp, result.SearchResults[0].Facets, ((ISearchClient)this).IncEmptyFacets, ((ISearchClient)this).Lang);
            return(result.SearchResults[0]);
        }
Exemple #3
0
        public SearchResultContext<SearchModelBase> Search()
        {
            var requester = new SearchOperation();
            var queryContext = new QueryContext{Client = Configuration.ClientGuid.ToString()};

            for(var a = 0; a < SearchClients.Count; a++) {
                SearchClients[a].Query.QueryId = a+1;
                QueryIdToClient.Add(SearchClients[a].Query.QueryId, SearchClients[a]);
                queryContext.Querys.Add(SearchClients[a].Query);
            }

            var jsonData = requester.PreformSearch(JsonConvert.SerializeObject(queryContext, Formatting.None), Configuration);
            var result = JsonConvert.DeserializeObject<SearchResultContext<SearchModelBase>>(jsonData,new JsonSerializerSettings{TypeNameHandling = TypeNameHandling.All});

            foreach (var searchResult in result.SearchResults) {
                var client = QueryIdToClient[searchResult.QueryId];
                var fcm = new FacetContextMerger<SearchModelBase>();
                var genericType = client.GetType().IsGenericType ? client.GetType().GetGenericArguments()[0] : null;

                fcm.MergeFacets(result.CrawlStamp, searchResult.Facets, client.IncEmptyFacets, client.Lang, genericType);
            }
            return result;
        }