Global search: Difference between revisions
No edit summary |
m →Linux: This section is actually for a Debian/Ubuntu based Linux distro. |
||
| Line 12: | Line 12: | ||
Basic installation steps (using apache web server): | Basic installation steps (using apache web server): | ||
=== Linux === | === Linux (Debian/Ubuntu) === | ||
sudo apt-get install libpcre3-dev libxml2-dev libcurl4-openssl-dev | sudo apt-get install libpcre3-dev libxml2-dev libcurl4-openssl-dev | ||
Revision as of 22:01, 4 March 2016
Installation
To use Solr as Moodle's search engine you need the PHP Solr extension and a Solr server.
PHP Solr extension
You need PHP Solr extension installed. Use PECL Solr Extension 1.x for Solr Server 3.x, or use PECL Solr 2.x for Solr Server 4.0+.
You can download the official latest versions from [1](http://pecl.php.net/package/solr)
Basic installation steps (using apache web server):
Linux (Debian/Ubuntu)
sudo apt-get install libpcre3-dev libxml2-dev libcurl4-openssl-dev sudo pecl install solr sudo service apache2 restart sudo sh -c "echo 'extension=solr.so' > /etc/php5/apache2/conf.d/solr.ini" sudo sh -c "echo 'extension=solr.so' > /etc/php5/cli/conf.d/solr.ini"
OSX using macports
sudo port install apache-solr4 sudo port install php54-solr
Windows
Install the pecl package as usual. Sorry it has not been tested yet.
Solr server
The following snippet (feel free to copy & paste into a .sh script with execution permissions) will download Solr 5.4.1 in the current directory, start the solr server and create an index in it named moodle to add moodle data to it.
#!/bin/bash
set -e
SOLRVERSION=5.4.1
SOLRNAME=solr-$SOLRVERSION
SOLRTAR=$SOLRNAME'.tgz'
INDEXNAME=moodle
if [ -d $SOLRNAME ]; then
echo "Error: Directory $SOLRNAME already exists, remove it before starting the setup again."
exit 1
fi
if [ ! -f $SOLRTAR ]; then
wget http://apache.mirror.digitalpacific.com.au/lucene/solr/$SOLRVERSION/$SOLRTAR
fi
tar -xvzf $SOLRTAR
cd $SOLRNAME
bin/solr start
bin/solr create -c $INDEXNAME
# After setting it up and creating the index use:
# - "/yourdirectory/solrdir/bin/solr start" from CLI to start the server
# - "/yourdirectory/solrdir/bin/solr stop" from CLI to stop the server.
Setup
- Go to Site administration -> Plugins -> Search -> Manage global search
- Follow Search setup steps to complete the setup process. Basically you have to:
- Enable global search
- Set Solr as search engine and tick all search areas checkboxes
- Go to Site administration -> Plugins -> Search -> Solr and set Host name to localhost, Port to 8983 and Index name to 'moodle' (the name of the index in Solr)
Indexing
Once global search is enabled a new task will be running through cron, although you can force documents indexing by:
- Going to Reports -> Global search info
- Tick Index all site contents and press Execute
or
- Executing the following task from CLI
php admin/tool/task/cli/schedule_task.php --execute="\\core\\task\\search_task"
Querying
- Hover the search icon in the navigation bar, type your query and press Enter
or
- Add Global search block somewhere
- Type your query and press Search