public function saveStopWordsAction(string $stopWords, $replaceStopwords = true)
    {
        // lowercase stopword before saving because terms get lowercased before stopword filtering
        $newStopWords = mb_strtolower($stopWords);
        $newStopWords = GeneralUtility::trimExplode("\n", $newStopWords, true);

        $coreAdmin = $this->selectedSolrCoreConnection->getAdminService();
        $oldStopWords = $coreAdmin->getStopWords();

        if ($replaceStopwords) {
            $removedStopWords = array_diff($oldStopWords, $newStopWords);
            $wordsRemoved = $this->removeStopsWordsFromIndex($removedStopWords);
        } else {
            $wordsRemoved = true;
        }

        $wordsAdded = true;
        $addedStopWords = array_diff($newStopWords, $oldStopWords);
        if (!empty($addedStopWords)) {
            $wordsAddedResponse = $coreAdmin->addStopWords($addedStopWords);
            $wordsAdded = ($wordsAddedResponse->getHttpStatus() == 200);
        }

        $reloadResponse = $coreAdmin->reloadCore();
        if ($wordsRemoved && $wordsAdded && $reloadResponse->getHttpStatus() == 200) {
            $this->addFlashMessage(
                'Stop Words Updated.'
            );
        }

        $this->redirect('index');
    }
public function saveStopWordsAction(string $stopWords, $replaceStopwords = true)
    {
        // lowercase stopword before saving because terms get lowercased before stopword filtering
        $newStopWords = mb_strtolower($stopWords);
        $newStopWords = GeneralUtility::trimExplode("\n", $newStopWords, true);

        $coreAdmin = $this->selectedSolrCoreConnection->getAdminService();
        $oldStopWords = $coreAdmin->getStopWords();

        if ($replaceStopwords) {
            $removedStopWords = array_diff($oldStopWords, $newStopWords);
            $wordsRemoved = $this->removeStopsWordsFromIndex($removedStopWords);
        } else {
            $wordsRemoved = true;
        }

        $wordsAdded = true;
        $addedStopWords = array_diff($newStopWords, $oldStopWords);
        if (!empty($addedStopWords)) {
            $wordsAddedResponse = $coreAdmin->addStopWords($addedStopWords);
            $wordsAdded = ($wordsAddedResponse->getHttpStatus() == 200);
        }

        $reloadResponse = $coreAdmin->reloadCore();
        if ($wordsRemoved && $wordsAdded && $reloadResponse->getHttpStatus() == 200) {
            $this->addFlashMessage(
                'Stop Words Updated.'
            );
        }

        $this->redirect('index');
    }
public function saveStopWordsAction ( string $ stopWords , $ replaceStopwords = true ) { // lowercase stopword before saving because terms get lowercased before stopword filtering $ newStopWords = mb_strtolower ( $ stopWords ) ; $ newStopWords = GeneralUtility :: trimExplode ( "\n" , $ newStopWords , true ) ; $ coreAdmin = $ this -> selectedSolrCoreConnection -> getAdminService ( ) ; $ oldStopWords = $ coreAdmin -> getStopWords ( ) ; if ( $ replaceStopwords ) { $ removedStopWords = array_diff ( $ oldStopWords , $ newStopWords ) ; $ wordsRemoved = $ this -> removeStopsWordsFromIndex ( $ removedStopWords ) ; } else { $ wordsRemoved = true ; } $ wordsAdded = true ; $ addedStopWords = array_diff ( $ newStopWords , $ oldStopWords ) ; if ( ! empty ( $ addedStopWords ) ) { $ wordsAddedResponse = $ coreAdmin -> addStopWords ( $ addedStopWords ) ; $ wordsAdded = ( $ wordsAddedResponse -> getHttpStatus ( ) == 200 ) ; } $ reloadResponse = $ coreAdmin -> reloadCore ( ) ; if ( $ wordsRemoved && $ wordsAdded && $ reloadResponse -> getHttpStatus ( ) == 200 ) { $ this -> addFlashMessage ( 'Stop Words Updated.' ) ; } $ this -> redirect ( 'index' ) ; }
Saves the edited stop word list to Solr

@param string $stopWords
@param bool $replaceStopwords
@return void
Saves the edited stop word list to Solr