Filtering Complex filtering with multiple options
Search for something general, like "Hotel", and play with the filters.
ITypeSearch<Hotel> query = client.Search<Hotel>() .For(q); if (chains != null) { var chainFilter = client.BuildFilter<Hotel>(); foreach (var chain in chains) { chainFilter = chainFilter.Or(x => x.Chain.Match(chain)); } query = query.Filter(chainFilter); } if (countries != null) { var countryFilter = client.BuildFilter<Hotel>(); foreach (var country in countries) { countryFilter = countryFilter.Or(x => x.Location.Country.Title.Match(country)); } query = query.Filter(countryFilter); } var results = query.Select(x => new SearchHit { Title = x.Name, Url = x.Website, Location = new List{ x.ShortAddress, x.Location.Title, x.Location.Country.Title }.Concatenate(", "), StarRating = (int) x.StarRating }) .GetResult();