The Islandora Solr module provides a way to configure the Islandora search functions, the search results display, and the display of metadata on object pages.
Islandora Solr and the Islandora search results search the metadata, full text, and OCR of objects in the Fedora Commons repository. In a default Islandora installation, the Islandora search does not search Drupal nodes or other Drupal-only content.
In order to use the Islandora Solr module, Solr and GSearch must already be installed and working. See the tutorials below for instructions.
Install the Islandora Solr module as usual, see this for further information.
Configuration settings for the Islandora Solr Module are in Administration > Islandora > Solr index (admin/islandora/search/islandora_solr).
- Set the Solr URL to http://path.to.your.site:8080/solr (use "localhost:8080" unless Solr is installed on a separate server).
- Leave the Request handler as "Let Solr decide" unless you have defined a different request handler in the solrconfig.xml file.
- Click "Save Solr configuration."
After you have successfully set up the Solr URL on the Solr Index tab, you can configure search results and metadata display on these tabs:
- Facet pages - Configure alphabetical browsing pages based on indexed fields in Solr (for example, an alphabetical browse names name or topics). Requires the Islandora Solr Facet Pages module.
For more on this see Islandora Solr Facet Pages.
- RSS settings - Configure the fields to be displayed in the RSS feed of search results.
For more on this see Islandora Solr RSS Settings
- Solr Breadcrumbs - Configure how breadcrumbs are generated.
For more on breadcrumbs see the section below.
- Solr settings - Configure the Islandora search results display profile(s), including which fields to be displayed in the search results, which fields to sort on and serve as facets, query settings, required fields, and the Advanced Search block.
For more on this see Islandora Solr Settings.
- Table profile settings - Configure the "Table Display Profile" (if selected in "Solr settings").
- Metadata display - Configure which metadata fields should be displayed on Islandora object pages for each solution pack when the "Details" option is expanded. Requires the Islandora Solr Metadata module.
For more on this see Islandora Solr Metadata.
To enable breadcrumbs, browse to Administration » Islandora » Configuration and select
- "Render Drupal breadcrumbs"
- "Islandora Solr" under "Breadcrumb generation," and
- "Use iTQL for particular queries."
The last option only works when Islandora is installed with Mulgara as triple store.
Solr Breadcrumbs Configuration
You may configure the way Solr generates and displays breadcrumbs in Administration » Islandora » Solr Index » Solr Breadcrumbs (admin/islandora/search/islandora_solr/breadcrumbs).
The Solr Parent Fields specifies the Solr fields in order of descending priority that should used to determine the precedent breadcrumb(s). The suggested and default behavior of Solr breadcrumbs is to use the relationships isMemberOfCollection and isMemberOf to determine the parent (precedent) breadcrumb(s). Each field is checked in descending order from the top until a result is returned.
Q. Why are some dates not rendered correctly?
A. On 32 bit systems, the PHP function strtotime() has a limited range. Typically from Fri, 13 Dec 1901 20:45:54 UTC to Tue, 19 Jan 2038 03:14:07 UTC. For more information see this PHP documentation.
Q. Why can't I connect to Solr via https?
A. The Apache Solr PHP Client that we use does not support https connections to Solr. ISLANDORA-646 documents this issue, but it will not be fixed.
Q. Why do I get no results for a search for a PID in Advanced Search?
A. With earlier versions of Solr you had to escape the colon in searches for PIDs, but Islandora now supports Solr 4.10 and recommends config files that enable searching full PIDs.
Q. Can I use Solr search results when setting up 'Page specific visibility settings' for blocks?
A. Due to URL escape characters in Solr searches, Drupal does not respect 'Page specific visibility settings' for blocks. You will have to manually un-escape the URL when configuring where your blocks are placed. This example (which involves patching Drupal core) may help.
using: 'islandora/solr/search/*' will display (or remove) a block on every page that path is valid on
using: 'islandora/solr/search/%2A%3A%2A/atm_type_s%253A%2522Compositores%2522/*' will never display, even if this path is valid