Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Global search: Difference between revisions

From MoodleDocs
m (Not everyone has pecl installed already)
(removing page contents)
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
= Installation =
''The contents of this page has been moved to the user documentation: [https://docs.moodle.org/31/en/Global_search Global search]''
 
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 [http://pecl.php.net/package/solr](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 apt-get install php5-dev
    sudo apt-get install php-pear
    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'''

Latest revision as of 13:39, 13 May 2016

The contents of this page has been moved to the user documentation: Global search