protected function getFieldFilter(array $languageFilter)
{
$filter = null;
// Only 'languages' and 'useAlwaysAvailable' are available,
// latter making sense only when former is set.
if (!empty($languageFilter['languages'])) {
// For 'terms' filter caching is enabled by default
$filter = array('terms' => array('fields_doc.meta_language_code_s' => $languageFilter['languages']));
if (!isset($languageFilter['useAlwaysAvailable']) || $languageFilter['useAlwaysAvailable'] === true) {
$filter = array('or' => array('filters' => array($filter, array('term' => array('meta_is_always_available_b' => true))), '_cache' => true));
}
}
return $filter;
}