public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter)
{
$query = array('bool' => array('should' => $this->getCondition($criterion), 'minimum_should_match' => 1));
$fieldFilter = $this->getFieldFilter($languageFilter);
if ($fieldFilter === null) {
$query = array('nested' => array('path' => 'fields_doc', 'query' => $query));
} else {
$query = array('nested' => array('path' => 'fields_doc', 'query' => array('filtered' => array('query' => $query, 'filter' => $fieldFilter))));
}
return $query;
}