You can rebuild index by visiting example.com/tiki-admin.php?page=search&rebuild=now
How to do it varies from server to server, but here is an example. For a fuller description of the commands themselves, please see Unified Index - from the command line
0 0 * * * cd /var/www/html/tiki; php console.php index:rebuild >/dev/null 2>&1
0 0 * * * cd /var/www/html/tiki; php -dmemory_limit=4G -dmax_execution_time=300 console.php index:rebuild --force --log >/dev/null 2>&1
- The last part ">/dev/null 2>&1" indicates to discard the output from the command (standard output and any errors messages produced).
- The first 5 characters (separated by spaces) of the command set the time and frequency that the cron job will run. The characters refer to (in order): minute, hour, day, month, and weekday. So the above (0 0 * * * ) will run at midnight (0 minutes and 0 hour) every night.
The environment for a cron job (e.g., the
PATH variable) may not be the same as in shell (using SSL can cause this). That means that the above scripts may work in shell but not as a cron job. To solve this, set the cron job to run a shell script that sets the
PATH variable before running the rebuild command.
To find out what the
PATH variable should be, use the
env command in shell on the server where the Tiki site is that you're rebuilding the index for.
Let's say the shell script is called
cron.sh. The cron job would be as follows:
0 0 * * * sh cron.sh >/dev/null 2>&1
The shell script
cron.sh would consist of the following:
#!/bin/bash #this is the exact same setting as in the shell environment PATH=/home/useraccount/perl5/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/useraccount/bin #this is the actual command to rebuild the index php -dmemory_limit=4G -dmax_execution_time=300 /home/useraccount/public_html/console.php index:rebuild