getFieldTypes() public method

The method will check for custom fields if given $criterion implements CustomFieldInterface. With optional parameters $fieldTypeIdentifier and $name specific field type and field from its Indexable implementation can be targeted.
See also: eZ\Publish\API\Repository\Values\Content\Query\CustomFieldInterface
See also: eZ\Publish\SPI\FieldType\Indexable
public getFieldTypes ( eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion, string $fieldDefinitionIdentifier, null | string $fieldTypeIdentifier = null, null | string $name = null ) : array
$criterion eZ\Publish\API\Repository\Values\Content\Query\Criterion
$fieldDefinitionIdentifier string
$fieldTypeIdentifier null | string
$name null | string
return array
 /**
  * Get array of search fields.
  *
  * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion
  *
  * @return \eZ\Publish\SPI\Search\FieldType[] Array of field types indexed by name.
  */
 protected function getSearchFields(Criterion $criterion)
 {
     return $this->fieldNameResolver->getFieldTypes($criterion, $criterion->target);
 }
 /**
  * Get array of search fields.
  *
  * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion
  * @param string $fieldDefinitionIdentifier
  * @param string $fieldTypeIdentifier
  * @param string $name
  *
  * @return array
  */
 protected function getSearchFields(Criterion $criterion, $fieldDefinitionIdentifier, $fieldTypeIdentifier = null, $name = null)
 {
     return $this->fieldNameResolver->getFieldTypes($criterion, $fieldDefinitionIdentifier, $fieldTypeIdentifier, $name);
 }