Filtering Complex filtering with multiple options
Search for something general, like "Restaurant", and play with the filters.
ITypeSearchquery = client.Search () .For(q); if (cuisines != null) { var cuisineFilter = client.BuildFilter (); foreach (var cuisine in cuisines) { cuisineFilter = cuisineFilter.Or(x => x.Cuisine.Match(cuisine)); } query = query.Filter(cuisineFilter); } if (countries != null) { var countryFilter = client.BuildFilter (); foreach (var country in countries) { countryFilter = countryFilter.Or(x => x.Country.Match(country)); } query = query.Filter(countryFilter); } var results = query.Select(x => new SearchHit { Title = x.Name, Url = x.Website ?? x.WikipediaUrl, Location = new List { x.StreetAddress, x.City, x.Country }.Concatenate(", "), MichelinRating = x.MichelinRating ?? 0 }) .GetResult();