def __init__(self, query=None, filter=None, fields=None, start=None,<EOL>size=None, highlight=None, sort=None, explain=False, facet=None, agg=None, rescore=None,<EOL>window_size=None, version=None, track_scores=None, script_fields=None, index_boost=None,<EOL>min_score=None, stats=None, bulk_read=None, partial_fields=None, _source=None, timeout=None):
if not index_boost: index_boost = {}<EOL>self.query = query<EOL>self.filter = filter<EOL>self.fields = fields<EOL>self.start = start<EOL>self.size = size<EOL>self._highlight = highlight<EOL>self.sort = sort or SortFactory()<EOL>self.explain = explain<EOL>self.facet = facet or FacetFactory()<EOL>self.agg = agg or AggFactory()<EOL>self.rescore = rescore<EOL>self.window_size = window_size<EOL>self.version = version<EOL>self.track_scores = track_scores<EOL>self._script_fields = script_fields<EOL>self.index_boost = index_boost<EOL>self.min_score = min_score<EOL>self.stats = stats<EOL>self.bulk_read = bulk_read<EOL>self.partial_fields = partial_fields<EOL>self._source = _source<EOL>self.timeout = timeout<EOL>
fields: if is [], the _source is not returned