clause() :: struct() | [struct()]
t() :: %Elasticlunr.Dsl.BoolQuery{ filter: clause(), minimum_should_match: integer(), must: nil | struct(), must_not: nil | struct(), rewritten: boolean(), should: clause() }
new(keyword()) :: t()