Details
-
Bug
-
Resolution: Fixed
-
Medium
-
3.3.38, 4.6.7
-
None
-
Yes
Description
In the documentation, it is stated that the field type must implement Indexable if the data stored by the fieldtype should be searchable
It doesn't say that you need to implement this interface anyway, even if you don't need search capability for the fieldtype.
Also, it is not technically needed for fieldtypes to implement Indexable if using legacy search engine or ElasticSearch. However, if you are using Solr, you'll get this error if not doing so:
OutOfBoundsException: Field Type "ezuser" is not indexable. Provide Ibexa\Contracts\Core\FieldType\Indexable implementation and register it with the "ibexa.field_type.indexable" tag. at vendor/ibexa/core/src/lib/Search/Common/FieldRegistry.php:39 at Ibexa\Core\Search\Common\FieldRegistry->getType('ezuser') (vendor/ibexa/solr/src/lib/FieldMapper/ContentTranslationFieldMapper/BlockDocumentsContentFields.php:79)
All build-in field types that are not searchable implements the Indexable interface using the ibexa.field_type.indexable.unindexed service