Deprecation: #102908 - Indexed Search content parsers returning arrays

See forge#102908

Description

Content parsers implemented in Indexed Search return an array solely defined for the internal indexer. It is now encouraged to return an instance of \TYPO3\CMS\IndexedSearch\Dto\IndexingDataAsString instead.

Impact

Returning an array is deprecated. The indexing process will catch such cases, convert the result to an IndexingDataAsString object and raise a deprecation warning.

Affected installations

All installations with custom content parsers are affected, which very unlikely do exist.

Migration

Let the custom content parser return an instance of IndexingDataAsString. Either use the constructor, or the static helper method fromArray().

In both cases, the following input is accepted:

  • title

  • body

  • keywords

  • description

Examples

// Using constructor
return new IndexingDataAsString('<title>', '<body>', '<keywords>', '<description>');
// Using static helper
return IndexingDataAsString::fromArray([
    'title' => '<title>',
    'body' => '<body>',
    'keywords' => '<keywords>',
    'description' => '<description>',
]);