/// <summary>
        /// Filters documents that only have the provided ids.
        /// Note, this filter does not require the _id field to be indexed since
        /// it works using the _uid field.
        /// </summary>
        public QueryContainer Ids(IEnumerable <string> types, IEnumerable <string> values)
        {
            var ids = new IdsQueryDescriptor {
                Values = values, Type = types
            };

            return(this.New(ids, q => q.Ids = ids));
        }
        /// <summary>
        /// Filters documents that only have the provided ids.
        /// Note, this filter does not require the _id field to be indexed since
        /// it works using the _uid field.
        /// </summary>
        public QueryContainer Ids(string type, IEnumerable <string> values)
        {
            type.ThrowIfNullOrEmpty("type");
            var ids = new IdsQueryDescriptor {
                Values = values, Type = new[] { type }
            };

            return(this.New(ids, q => q.Ids = ids));
        }