public function join($indexName, $queryTemplate, $queryString, $localField, $foreignField, $type = self::JOIN_INNER, $returnFields = true, $returnScores = false, $returnFacets = false) {
		if(empty($this->data['joins'])) {
			$this->data['joins'] = array();
		}
		$this->data['joins'][] = array(
			'indexName' => $indexName,
			'queryTemplate' => $queryTemplate,
			'queryString' => $queryString,
			'localField' => $localField,
			'foreignField' => $foreignField,
			'type' => $type,
			'returnFields' => $returnFields,
			'returnScores' => $returnScores,
			'returnFacets' => $returnFacets			
		);
		return $this;
	}