bin/php/updatesearchindexsolr.php
public function run()
    {
        $this->Script->startup();

        $this->Options = $this->Script->getOptions(
            "[db-host:][db-user:][db-password:][db-database:][db-type:|db-driver:][sql][clean][clean-all][conc:][php-exec:][commit-within:]",
            "",
            array(
                'db-host' => "Database host",
                'db-user' => "Database user",
                'db-password' => "Database password",
                'db-database' => "Database name",
                'db-driver' => "Database driver",
                'db-type' => "Database driver, alias for --db-driver",
                'sql' => "Display sql queries",
                'clean' =>  "Remove all search data of the current installation id before beginning indexing",
                'clean-all' => "Remove all search data for all installations",
                'conc' => 'Parallelization, number of concurent processes to use',
                'php-exec' => 'Full path to PHP executable',
                'commit-within' => 'Commit to Solr within this time in seconds (default '
                    . self::DEFAULT_COMMIT_WITHIN . ' seconds)',
            )
        );
        $this->Script->initialize();

        // check if ezfind is enabled and exit if not
        if ( ! in_array( 'ezfind', eZExtension::activeExtensions() ) )
        {
            $this->CLI->error( 'eZ Find extension is not enabled and because of that index process will fail. Please enable it and run this script again.' );
            $this->Script->shutdown( 0 );
        }

        // Fix siteaccess
        $siteAccess = $this->Options['siteaccess'] ? $this->Options['siteaccess'] : false;
        if ( $siteAccess )
        {
            $this->changeSiteAccessSetting( $siteAccess );
        }
        else
        {
            $this->CLI->warning( 'You did not specify a siteaccess. The admin siteaccess is a required option in most cases.' );
            $input = readline( 'Are you sure the default siteaccess has all available languages defined? ([y] or [q] to quit )' );
            if ( $input === 'q' )
            {
                $this->Script->shutdown( 0 );
            }
        }

        // Check that Solr server is up and running
        if ( !$this->checkSolrRunning() )
        {
            $this->Script->shutdown( 1 );
            exit();
        }

        $this->initializeDB();

        // call clean up routines which will deal with the CLI arguments themselves
        $this->cleanUp();
        $this->cleanUpAll();

        if ( isset( $this->Options['commit-within'] )
                && is_numeric( $this->Options['commit-within'] ) )
        {
            $this->commitWithin = (int)$this->Options['commit-within'];
        }


        $this->CLI->output( 'Starting object re-indexing' );

        // Get PHP executable from user.
        $this->getPHPExecutable();

        $this->runMain();
    }
public function run()
    {
        $this->Script->startup();

        $this->Options = $this->Script->getOptions(
            "[db-host:][db-user:][db-password:][db-database:][db-type:|db-driver:][sql][clean][clean-all][conc:][php-exec:][commit-within:]",
            "",
            array(
                'db-host' => "Database host",
                'db-user' => "Database user",
                'db-password' => "Database password",
                'db-database' => "Database name",
                'db-driver' => "Database driver",
                'db-type' => "Database driver, alias for --db-driver",
                'sql' => "Display sql queries",
                'clean' =>  "Remove all search data of the current installation id before beginning indexing",
                'clean-all' => "Remove all search data for all installations",
                'conc' => 'Parallelization, number of concurent processes to use',
                'php-exec' => 'Full path to PHP executable',
                'commit-within' => 'Commit to Solr within this time in seconds (default '
                    . self::DEFAULT_COMMIT_WITHIN . ' seconds)',
            )
        );
        $this->Script->initialize();

        // check if ezfind is enabled and exit if not
        if ( ! in_array( 'ezfind', eZExtension::activeExtensions() ) )
        {
            $this->CLI->error( 'eZ Find extension is not enabled and because of that index process will fail. Please enable it and run this script again.' );
            $this->Script->shutdown( 0 );
        }

        // Fix siteaccess
        $siteAccess = $this->Options['siteaccess'] ? $this->Options['siteaccess'] : false;
        if ( $siteAccess )
        {
            $this->changeSiteAccessSetting( $siteAccess );
        }
        else
        {
            $this->CLI->warning( 'You did not specify a siteaccess. The admin siteaccess is a required option in most cases.' );
            $input = readline( 'Are you sure the default siteaccess has all available languages defined? ([y] or [q] to quit )' );
            if ( $input === 'q' )
            {
                $this->Script->shutdown( 0 );
            }
        }

        // Check that Solr server is up and running
        if ( !$this->checkSolrRunning() )
        {
            $this->Script->shutdown( 1 );
            exit();
        }

        $this->initializeDB();

        // call clean up routines which will deal with the CLI arguments themselves
        $this->cleanUp();
        $this->cleanUpAll();

        if ( isset( $this->Options['commit-within'] )
                && is_numeric( $this->Options['commit-within'] ) )
        {
            $this->commitWithin = (int)$this->Options['commit-within'];
        }


        $this->CLI->output( 'Starting object re-indexing' );

        // Get PHP executable from user.
        $this->getPHPExecutable();

        $this->runMain();
    }
public function run ( ) { $ this -> Script -> startup ( ) ; $ this -> Options = $ this -> Script -> getOptions ( "[db-host:][db-user:][db-password:][db-database:][db-type:|db-driver:][sql][clean][clean-all][conc:][php-exec:][commit-within:]" , "" , array ( 'db-host' => "Database host" , 'db-user' => "Database user" , 'db-password' => "Database password" , 'db-database' => "Database name" , 'db-driver' => "Database driver" , 'db-type' => "Database driver, alias for --db-driver" , 'sql' => "Display sql queries" , 'clean' => "Remove all search data of the current installation id before beginning indexing" , 'clean-all' => "Remove all search data for all installations" , 'conc' => 'Parallelization, number of concurent processes to use' , 'php-exec' => 'Full path to PHP executable' , 'commit-within' => 'Commit to Solr within this time in seconds (default ' . self :: DEFAULT_COMMIT_WITHIN . ' seconds)' , ) ) ; $ this -> Script -> initialize ( ) ; // check if ezfind is enabled and exit if not if ( ! in_array ( 'ezfind' , eZExtension :: activeExtensions ( ) ) ) { $ this -> CLI -> error ( 'eZ Find extension is not enabled and because of that index process will fail. Please enable it and run this script again.' ) ; $ this -> Script -> shutdown ( 0 ) ; } // Fix siteaccess $ siteAccess = $ this -> Options [ 'siteaccess' ] ? $ this -> Options [ 'siteaccess' ] : false ; if ( $ siteAccess ) { $ this -> changeSiteAccessSetting ( $ siteAccess ) ; } else { $ this -> CLI -> warning ( 'You did not specify a siteaccess. The admin siteaccess is a required option in most cases.' ) ; $ input = readline ( 'Are you sure the default siteaccess has all available languages defined? ([y] or [q] to quit )' ) ; if ( $ input === 'q' ) { $ this -> Script -> shutdown ( 0 ) ; } } // Check that Solr server is up and running if ( ! $ this -> checkSolrRunning ( ) ) { $ this -> Script -> shutdown ( 1 ) ; exit ( ) ; } $ this -> initializeDB ( ) ; // call clean up routines which will deal with the CLI arguments themselves $ this -> cleanUp ( ) ; $ this -> cleanUpAll ( ) ; if ( isset ( $ this -> Options [ 'commit-within' ] ) && is_numeric ( $ this -> Options [ 'commit-within' ] ) ) { $ this -> commitWithin = ( int ) $ this -> Options [ 'commit-within' ] ; } $ this -> CLI -> output ( 'Starting object re-indexing' ) ; // Get PHP executable from user. $ this -> getPHPExecutable ( ) ; $ this -> runMain ( ) ; }
Startup and run script.
Startup and run script .