protected function isRecursivePageUpdateRequired($pageId, $changedFields)
    {
        // First check RecursiveUpdateTriggerConfiguration
        $isRecursiveUpdateRequired = $this->isRecursiveUpdateRequired($pageId, $changedFields);
        // If RecursiveUpdateTriggerConfiguration is false => check if changeFields are part of recursiveUpdateFields
        if ($isRecursiveUpdateRequired === false) {
            $solrConfiguration = Util::getSolrConfigurationFromPageId($pageId);
            $indexQueueConfigurationName = $this->configurationAwareRecordService->getIndexingConfigurationName('pages', $pageId, $solrConfiguration);
            $updateFields = $solrConfiguration->getIndexQueueConfigurationRecursiveUpdateFields($indexQueueConfigurationName);

            // Check if no additional fields have been defined and then skip recursive update
            if (empty($updateFields)) {
                return false;
            }
            // If the recursiveUpdateFields configuration is not part of the $changedFields skip recursive update
            if (!array_intersect_key($changedFields, $updateFields)) {
                return false;
            }
        }

        return true;
    }
protected function isRecursivePageUpdateRequired($pageId, $changedFields)
    {
        // First check RecursiveUpdateTriggerConfiguration
        $isRecursiveUpdateRequired = $this->isRecursiveUpdateRequired($pageId, $changedFields);
        // If RecursiveUpdateTriggerConfiguration is false => check if changeFields are part of recursiveUpdateFields
        if ($isRecursiveUpdateRequired === false) {
            $solrConfiguration = Util::getSolrConfigurationFromPageId($pageId);
            $indexQueueConfigurationName = $this->configurationAwareRecordService->getIndexingConfigurationName('pages', $pageId, $solrConfiguration);
            $updateFields = $solrConfiguration->getIndexQueueConfigurationRecursiveUpdateFields($indexQueueConfigurationName);

            // Check if no additional fields have been defined and then skip recursive update
            if (empty($updateFields)) {
                return false;
            }
            // If the recursiveUpdateFields configuration is not part of the $changedFields skip recursive update
            if (!array_intersect_key($changedFields, $updateFields)) {
                return false;
            }
        }

        return true;
    }
protected function isRecursivePageUpdateRequired ( $ pageId , $ changedFields ) { // First check RecursiveUpdateTriggerConfiguration $ isRecursiveUpdateRequired = $ this -> isRecursiveUpdateRequired ( $ pageId , $ changedFields ) ; // If RecursiveUpdateTriggerConfiguration is false => check if changeFields are part of recursiveUpdateFields if ( $ isRecursiveUpdateRequired === false ) { $ solrConfiguration = Util :: getSolrConfigurationFromPageId ( $ pageId ) ; $ indexQueueConfigurationName = $ this -> configurationAwareRecordService -> getIndexingConfigurationName ( 'pages' , $ pageId , $ solrConfiguration ) ; $ updateFields = $ solrConfiguration -> getIndexQueueConfigurationRecursiveUpdateFields ( $ indexQueueConfigurationName ) ; // Check if no additional fields have been defined and then skip recursive update if ( empty ( $ updateFields ) ) { return false ; } // If the recursiveUpdateFields configuration is not part of the $changedFields skip recursive update if ( ! array_intersect_key ( $ changedFields , $ updateFields ) ) { return false ; } } return true ; }
Checks if a page update will trigger a recursive update of pages

This can either be the case if some $changedFields are part of the RecursiveUpdateTriggerConfiguration or
columns have explicitly been configured via plugin.tx_solr.index.queue.recursiveUpdateFields

@param int $pageId
@param array $changedFields
@return bool
Checks if a page update will trigger a recursive update of pages