public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter)
{
$query = array('filtered' => array('filter' => array('or' => $this->getCondition($criterion))));
$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;
}