...
The Fedora Generic Search Service, or GSearch, is a search service installed with Fedora that allows for automatic updating of the Lucene/Solr index. GSearch relies on JMS to receive messages that are sent when Fedora objects are ingested, modified or purged. This keeps the Lucene index in sync with the Fedora repository.
How Islandora uses Solr/Lucene and Gsearch
Islandora makes it possible to use the power of Solr/Lucene for discovery. Gsearch is used as a method for keeping indexes current. When an item is ingested, the FOXML is transformed by an XSLT file stored in Gsearch into a format that can be read by Solr's schema and returned based on the request handlers in our custom solrconfig.xml.
...
While Solr is not required to run Islandora, it is recommended.
Installing Solr and GSearch
1. Download GSearch 22.67, unzip and copy fedoragsearch.war to the Tomcat webapps folder ($CATALINA_HOME/webapps).
Code Block |
---|
|
$# cd /opt/downloads
# wget http://downloads.sourceforge.net/fedora-commons/fedoragsearch-2.7.zip
# unzip fedoragsearch-2.67.zip
$# cd fedoragsearch-2.67
$# cp -v fedoragsearch.war /usr/local/fedora/tomcat/webapps |
2. Download Solr 4.2.0 and unpack.
Code Block |
---|
|
$# cd /opt/downloads
# wget https://archive.apache.org/dist/lucene/solr/4.2.0/solr-4.2.0.tgz
# tar -xzvf solr-4.2.0.tgz |
3. Create a directory for Solr, and copy the contents of solr-4.2.0/example/solr. These instructions presume that it will be installed at /usr/local/fedora/solr:
Code Block |
---|
|
$# mkdir -p /usr/local/fedora/solr
$# cp -Rv solr-4.2.0/example/solr/* /usr/local/fedora/solr |
4. Copy (and rename) solr-4.2.0.war to $CATALINA_HOME/webapps.
Code Block |
---|
|
$# cp -v solr-4.2.0/dist/solr-4.2.0.war /usr/local/fedora/tomcat/webapps/solr.war |
...
6. Restart Fedora to deploy GSearch and Solr
Code Block |
---|
|
$# /usr/local/fedora/tomcat/bin/shutdown.sh
$# /usr/local/fedora/tomcat/bin/startup.sh
|
This will deploy solr and fedora
7. Now we need to edit the configuration for gsearch.
Edit the file $FEDORA_HOME/tomcat/webapps/fedoragsearch/FgsConfig/fgsconfig-basic-for-islandora.properties. The entries below are of an example setup.
Code Block |
---|
configDisplayName=configProductionSolr
gsearchBase=http://localhost:8080
gsearchAppName=fedoragsearch
gsearchUser=fgsAdmin
gsearchPass=[password]
finalConfigPath=/usr/local/fedora/tomcat/webapps/fedoragsearch/WEB-INF/classes
logFilePath=/usr/local/fedora/server/logs
logLevel=DEBUG
namesOfRepositories=FgsRepos
namesOfIndexes=FgsIndex
fedoraBase=http://localhost:8080
fedoraAppName=fedora
fedoraUser=fedoraAdmin
fedoraPass=[password]
fedoraVersion=3.78.01
objectStoreBase=/usr/local/fedora/data/objectStore
indexEngine=Solr
indexBase=http://localhost:8080/solr
indexDir=/usr/local/fedora/solr/collection1/data/index
indexingDocXslt=foxmlToSolr |
Notewarning |
---|
This Gsearch properties files are sensitive. A space after the text file is extremely sensitive to whitespace. Ensure there are no extra characters/space at the end of a line may cause that entry to fail. |
...
8. Edit $FEDORA_HOME/tomcat/webapps/fedoragsearch/FgsConfig/fgsconfig-basic.xml (replace 'fgsconfig-basic.properties' with 'fgsconfig-basic-for-islandora.properties'):
...
9. Navigate to $FEDORA_HOME/tomcat/webapps/fedoragsearch/FgsConfig/and run Apache ant on fgsconfig-basic.xml (you may need to install ant)
Code Block |
---|
|
$# apt-get install ant
# cd /usr/local/fedora/tomcat/webapps/fedoragsearch/FgsConfig/
$# ant -f fgsconfig-basic.xml |
10. Rename the current Solr schema.xml file to schema.bakSet up solr to use the newly generated schema. Start by backing up the existing schema:
Code Block |
---|
|
$# mv -v /usr/local/fedora/solr/collection1/conf/schema.xml $FEDORA_HOME/solr/collection1/conf/schema.bak |
11. Copy the new, ant-generated Solr schema into place as schema.xml
Code Block |
---|
|
$# cp -v /usr/local/fedora/tomcat/webapps/fedoragsearch/WEB-INF/classes/fgsconfigFinal/index/FgsIndex/conf/schema-4.2.0-for-fgs-2.67.xml $FEDORA_HOME/solr/collection1/conf/schema.xml |
...
13. Restart Fedora.
Code Block |
---|
|
$# /usr/local/fedora/tomcat/bin/shutdown.sh
$# /usr/local/fedora/tomcat/bin/startup.sh |
...
Test your GSearch installation
...
...
- Login using fedoraAdmin
- Click on updateindex
- Click on updateIndex fromFoxmlFiles
...
Image Added
Warning |
---|
If you can not access the rest page please retrace your steps. Be sure to not have extra characters or white space in the /fgsconfig-basic-for-islandora.properties files as emphasized on step 7. |
...
may need to be further configured to index specific datastreams, depending on the enhancement modules you install. Sample GSearch and Solr configurations can be |
...
...
Installing & Configuring the Solr Search Module
The Islandora Solr search module allows you to search the Solr index. The Islandora Solr Sample Configuration module provides default display profiles to the module. The module makes four new blocks available; two for search and two for display. The other block is called the Advanced Search Block and does fielded searches against the Solr index. Both blocks would use whatever request handler is configured in the module settings. For information on how to configure the Solr module, see Chapter 4 - Search and Discovery in Islandora (The Solr Module)Search.
Installation Steps:
- Verify that fedoraGSearch and Solr are both installed and running.
Go to http://localhost:8080/solr
Image Added - Solr does not automatically load existing content upon installation. Go to Core Admin -> Reload tab
- Download the Islandora Solr Search module Module and install as a Drupal module., as you did in the Starter Kit modules
- Log in to your Drupal site to enable the islandora_solr_search module.
Administer > Modules and enable Islandora Solr Search - Access the [Structure]:[Blocks] tab, go to the bottom of the blocks list in the Disabled section, find the "+ Islandora simple search" block and drag it up to the Sidebar first section.
- Replace the original Drupal search block with the one from Islandora on the sidebar
Image Added - You should now be able to see the Islandora search box in the on the sidebar.
Image Added
Testing the Solr installation
Just entry a keyword in the Islandora search field related to some of the test objects you ingest in the Starter Kit collections. If they come up on the list everything is working as it should
Warning |
---|
If nothing comes back please retrace your steps. Make sure you're using the Islandora search block, and not the original one from Drupal. |
Info |
---|
From this point on you should be in good shape for the enhanced features of Islandora, by installing other solution packs in modules. |