/// <summary>
 /// Search for Items within a particular language
 /// </summary>
 public static BucketQuery WhereLanguageIs(this BucketQuery query, IEnumerable <Language> language)
 {
     query.AddRange(language.Select(lang => "language:" + lang.CultureInfo.TwoLetterISOLanguageName));
     return(query);
 }
 /// <summary>
 /// Search for Items that belong to a list of Item Names
 /// </summary>
 public static BucketQuery WhereItemNameIs(this BucketQuery query, IEnumerable <string> searchStrings)
 {
     query.AddRange(searchStrings.Select(@string => "itemName:" + @string));
     return(query);
 }
 /// <summary>
 /// Search for Items that are by a particular list of Authors
 /// </summary>
 public static BucketQuery WhereAuthorIs(this BucketQuery query, IEnumerable <User> authors)
 {
     query.AddRange(authors.Select(author => "author:" + author.Name));
     return(query);
 }
 /// <summary>
 /// Search for Items that contain a list of string values
 /// </summary>
 public static BucketQuery WhereContentContains(this BucketQuery query, IEnumerable <string> searchStrings)
 {
     query.AddRange(searchStrings.Select(@string => "text:" + @string));
     return(query);
 }
 /// <summary>
 /// Search for Items are tagged by a particular list of Tag IDs
 /// </summary>
 public static BucketQuery WhereTaggedWith(this BucketQuery query, IEnumerable <ID> tagIds)
 {
     query.AddRange(tagIds.Select(tag => "tag:" + tag));
     return(query);
 }