    def __init__(self, query=None, extraction_sort=None, from_index=None, size=None, random_results=None,
                 random_seed=None, score_relevance=None, return_max_score=None, timeout=None, **kwargs):
        """
        Base class for all queries against datasets and the items that they contain on Citrination.

        :param query: One or more :class:`DataQuery` objects with the queries to run.
        :param extraction_sort: A single :class:`ExtractionSort` object for sorting.
        :param from_index: Index of the first hit that should be returned.
        :param size: Total number of hits the should be returned.
        :param random_results: Whether to return a random set of records.
        :param random_seed: The random seed to use.
        :param score_relevance: Whether to use relevance scoring.
        :param return_max_score: Whether to return the maximum score.
        :param timeout: The number of milliseconds to wait for the query to execute.
        """
        super(BaseReturningQuery, self).__init__(query=query, extraction_sort=extraction_sort, **kwargs)
        if 'from' in 'kwargs':
            self.from_index = kwargs['from']
        self._from = None
        self.from_index = from_index
        self._size = None
        self.size = size
        self._random_results = None
        self.random_results = random_results
        self._random_seed = None
        self.random_seed = random_seed
        self._score_relevance = None
        self.score_relevance = score_relevance
        self._return_max_score = None
        self.return_max_score = return_max_score
        self._timeout = None
        self.timeout = timeout