protected function getFieldsInformation($fieldIdentifier)
{
$fieldMapArray = array();
$fieldMap = $this->contentTypeHandler->getSearchableFieldMap();
foreach ($fieldMap as $contentTypeIdentifier => $fieldIdentifierMap) {
// First check if field exists in the current ContentType, there is nothing to do if it doesn't
if (!isset($fieldIdentifierMap[$fieldIdentifier])) {
continue;
}
$fieldTypeIdentifier = $fieldIdentifierMap[$fieldIdentifier]['field_type_identifier'];
$fieldMapArray[$fieldTypeIdentifier]['ids'][] = $fieldIdentifierMap[$fieldIdentifier]['field_definition_id'];
if (!isset($fieldMapArray[$fieldTypeIdentifier]['column'])) {
$fieldMapArray[$fieldTypeIdentifier]['column'] = $this->fieldConverterRegistry->getConverter($fieldTypeIdentifier)->getIndexColumn();
}
}
if (empty($fieldMapArray)) {
throw new InvalidArgumentException('$criterion->target', "No searchable fields found for the given criterion target '{$fieldIdentifier}'.");
}
return $fieldMapArray;
}