protected function collectIndexFieldsInfo()
    {
        $indexFieldsInfoByCorePaths = [];

        $solrCoreConnections = $this->solrConnectionManager->getConnectionsBySite($this->selectedSite);
        foreach ($solrCoreConnections as $solrCoreConnection) {
            $coreAdmin = $solrCoreConnection->getAdminService();

            $indexFieldsInfo = [
                'corePath' => $coreAdmin->getCorePath()
            ];
            if ($coreAdmin->ping()) {
                $lukeData = $coreAdmin->getLukeMetaData();

                /* @var Registry $registry */
                $registry = GeneralUtility::makeInstance(Registry::class);
                $limit = $registry->get('tx_solr', 'luke.limit', 20000);
                $limitNote = '';

                if (isset($lukeData->index->numDocs) && $lukeData->index->numDocs > $limit) {
                    $limitNote = '<em>Too many terms</em>';
                } elseif (isset($lukeData->index->numDocs)) {
                    $limitNote = 'Nothing indexed';
                    // below limit, so we can get more data
                    // Note: we use 2 since 1 fails on Ubuntu Hardy.
                    $lukeData = $coreAdmin->getLukeMetaData(2);
                }

                $fields = $this->getFields($lukeData, $limitNote);
                $coreMetrics = $this->getCoreMetrics($lukeData, $fields);

                $indexFieldsInfo['noError'] = 'OK';
                $indexFieldsInfo['fields'] = $fields;
                $indexFieldsInfo['coreMetrics'] = $coreMetrics;
            } else {
                $indexFieldsInfo['noError'] = null;

                $this->addFlashMessage(
                    '',
                    'Unable to contact Apache Solr server: ' . $this->selectedSite->getLabel() . ' ' . $coreAdmin->getCorePath(),
                    FlashMessage::ERROR
                );
            }
            $indexFieldsInfoByCorePaths[$coreAdmin->getCorePath()] = $indexFieldsInfo;
        }
        $this->view->assign('indexFieldsInfoByCorePaths', $indexFieldsInfoByCorePaths);
    }
protected function collectIndexFieldsInfo()
    {
        $indexFieldsInfoByCorePaths = [];

        $solrCoreConnections = $this->solrConnectionManager->getConnectionsBySite($this->selectedSite);
        foreach ($solrCoreConnections as $solrCoreConnection) {
            $coreAdmin = $solrCoreConnection->getAdminService();

            $indexFieldsInfo = [
                'corePath' => $coreAdmin->getCorePath()
            ];
            if ($coreAdmin->ping()) {
                $lukeData = $coreAdmin->getLukeMetaData();

                /* @var Registry $registry */
                $registry = GeneralUtility::makeInstance(Registry::class);
                $limit = $registry->get('tx_solr', 'luke.limit', 20000);
                $limitNote = '';

                if (isset($lukeData->index->numDocs) && $lukeData->index->numDocs > $limit) {
                    $limitNote = '<em>Too many terms</em>';
                } elseif (isset($lukeData->index->numDocs)) {
                    $limitNote = 'Nothing indexed';
                    // below limit, so we can get more data
                    // Note: we use 2 since 1 fails on Ubuntu Hardy.
                    $lukeData = $coreAdmin->getLukeMetaData(2);
                }

                $fields = $this->getFields($lukeData, $limitNote);
                $coreMetrics = $this->getCoreMetrics($lukeData, $fields);

                $indexFieldsInfo['noError'] = 'OK';
                $indexFieldsInfo['fields'] = $fields;
                $indexFieldsInfo['coreMetrics'] = $coreMetrics;
            } else {
                $indexFieldsInfo['noError'] = null;

                $this->addFlashMessage(
                    '',
                    'Unable to contact Apache Solr server: ' . $this->selectedSite->getLabel() . ' ' . $coreAdmin->getCorePath(),
                    FlashMessage::ERROR
                );
            }
            $indexFieldsInfoByCorePaths[$coreAdmin->getCorePath()] = $indexFieldsInfo;
        }
        $this->view->assign('indexFieldsInfoByCorePaths', $indexFieldsInfoByCorePaths);
    }
protected function collectIndexFieldsInfo ( ) { $ indexFieldsInfoByCorePaths = [ ] ; $ solrCoreConnections = $ this -> solrConnectionManager -> getConnectionsBySite ( $ this -> selectedSite ) ; foreach ( $ solrCoreConnections as $ solrCoreConnection ) { $ coreAdmin = $ solrCoreConnection -> getAdminService ( ) ; $ indexFieldsInfo = [ 'corePath' => $ coreAdmin -> getCorePath ( ) ] ; if ( $ coreAdmin -> ping ( ) ) { $ lukeData = $ coreAdmin -> getLukeMetaData ( ) ; /* @var Registry $registry */ $ registry = GeneralUtility :: makeInstance ( Registry :: class ) ; $ limit = $ registry -> get ( 'tx_solr' , 'luke.limit' , 20000 ) ; $ limitNote = '' ; if ( isset ( $ lukeData -> index -> numDocs ) && $ lukeData -> index -> numDocs > $ limit ) { $ limitNote = '<em>Too many terms</em>' ; } elseif ( isset ( $ lukeData -> index -> numDocs ) ) { $ limitNote = 'Nothing indexed' ; // below limit, so we can get more data // Note: we use 2 since 1 fails on Ubuntu Hardy. $ lukeData = $ coreAdmin -> getLukeMetaData ( 2 ) ; } $ fields = $ this -> getFields ( $ lukeData , $ limitNote ) ; $ coreMetrics = $ this -> getCoreMetrics ( $ lukeData , $ fields ) ; $ indexFieldsInfo [ 'noError' ] = 'OK' ; $ indexFieldsInfo [ 'fields' ] = $ fields ; $ indexFieldsInfo [ 'coreMetrics' ] = $ coreMetrics ; } else { $ indexFieldsInfo [ 'noError' ] = null ; $ this -> addFlashMessage ( '' , 'Unable to contact Apache Solr server: ' . $ this -> selectedSite -> getLabel ( ) . ' ' . $ coreAdmin -> getCorePath ( ) , FlashMessage :: ERROR ) ; } $ indexFieldsInfoByCorePaths [ $ coreAdmin -> getCorePath ( ) ] = $ indexFieldsInfo ; } $ this -> view -> assign ( 'indexFieldsInfoByCorePaths' , $ indexFieldsInfoByCorePaths ) ; }
Gets Luke meta data for the currently selected core and provides a list
of that data.

@return void
Gets Luke meta data for the currently selected core and provides a list of that data .