Set Up Filter or Boost with Multiple Conditions

A filter, or a boost that uses a filter, can be a combination of conditions. Imagine a scenario where you want to boost all Documentaries by medium strength if produced after 1980, and low strength if produced earlier.

csharp
// Assuming fields "year" and "genre" have been set to Filterable = true

Filter yearOlderFilter = engine.CreateRangeFilter("year", 1900, 1979, out _)!;
Filter yearNewerFilter = engine.CreateRangeFilter("year", 1980, 2025, out _)!;
Filter genreFilter = engine.CreateValueFilter("genre", "Documentary", out _)!;

var boosts = new List<Boost>();
boosts.Add(engine.CreateBoost(yearNewerFilter! & genreFilter, BoostStrength.Med));
boosts.Add(engine.CreateBoost(yearOlderFilter! & genreFilter, BoostStrength.Low));

query.Boosts = boosts.ToArray();
query.EnableBoost = true;