public async Task <Result <GuideDescription[]> > SearchByTagsAsync(string[] tags, int take = 50, int skip = 0)
        {
            IFilter filter = null;

            if (tags != null)
            {
                var filters = tags.Select(x => (IFilter) new ComparisonFilter("tags", x, ComparisonOperator.Contains))
                              .ToArray();
                filter = new LogicalFilter(LogicalOperator.And, filters);
            }

            var guides = await guideRepository.SearchAsync(filter, take, skip);

            return(Result <GuideDescription[]> .Success(MapGuideDescriptions(guides)));
        }