public Kartverket.Metadatakatalog.Models.Article.SearchResult Search(Kartverket.Metadatakatalog.Models.Article.SearchParameters parameters)
        {
            ISolrQuery query = parameters.BuildQuery();

            try
            {
                SolrQueryResults <ArticleIndexDoc> queryResults = _solrInstance.Query(query, new QueryOptions
                {
                    OrderBy = parameters.OrderBy(),
                    Rows    = parameters.Limit,
                    Start   = parameters.Offset - 1, //solr is zero-based - we use one-based indexing in api
                    Fields  = new[] { "Id", "Type", "title", "LinkUrl", "MainIntro", "MainBody", "StartPublish", "Author", "LinkArea", "score" }
                });

                return(CreateSearchResults(queryResults, parameters));
            }
            catch (Exception ex)
            {
                Log.Error("Error in search", ex);

                return(CreateSearchResults(null, parameters));
            }
        }
        private Kartverket.Metadatakatalog.Models.Article.SearchResult CreateSearchResults(SolrQueryResults <ArticleIndexDoc> queryResults, Kartverket.Metadatakatalog.Models.Article.SearchParameters parameters)
        {
            List <Kartverket.Metadatakatalog.Models.Article.SearchResultItem> items = ParseResultDocuments(queryResults);

            return(new Kartverket.Metadatakatalog.Models.Article.SearchResult
            {
                Items = items,
                Limit = parameters.Limit,
                Offset = parameters.Offset,
                NumFound = GetNumFound(queryResults)
            });
        }