public List <SearchObject> DoSearch(long siteId, string query, string culture, int pageNumber, int pageSize,
                                            ref int totalResults)
        {
            // Parse Query into words
            var parts = TextParser.ParseText(query, culture);

            // Get wordIds for all words in query
            var wordIds = FindAllWordIds(parts, culture);

            if (siteId > 0)
            {
                return(provider.DoSearchBySite(siteId, wordIds, pageNumber, pageSize, ref totalResults));
            }
            return(provider.DoSearch(wordIds, pageNumber, pageSize, ref totalResults));
        }