def __init__(self, logic=None, weight=None, exists=None, equal=None, filter=None, **kwargs):
self._logic = None<EOL>self.logic = logic<EOL>self._weight = None<EOL>self.weight = weight<EOL>self._exists = None<EOL>self.exists = exists<EOL>self._equal = None<EOL>self.equal = equal<EOL>self._filter = None<EOL>self.filter = filter<EOL>
Constructor.

:param logic: Logic for this filter. Must be equal to one of "MUST", "MUST_NOT", "SHOULD", or "OPTIONAL".
:param weight: Weight for the filter.
:param exists: True/False to simply test whether the field exists and has a non-null value.
:param equal: String with the phrase to match against.
:param filter: List of :class:`BooleanFilter` objects with sub-filters.