/** * Get the configured Solr options with the defaults all merged in * @return array - The merged options */ static function solr_options() { if (self::$merged_solr_options) { return self::$merged_solr_options; } $defaults = array('host' => 'localhost', 'port' => 8983, 'path' => '/solr', 'version' => '4'); // Build some by-version defaults $version = isset(self::$solr_options['version']) ? self::$solr_options['version'] : $defaults['version']; if (version_compare($version, '4', '>=')) { $versionDefaults = array('service' => 'Solr4Service', 'extraspath' => Director::baseFolder() . '/fulltextsearch/conf/solr/4/extras/', 'templatespath' => Director::baseFolder() . '/fulltextsearch/conf/solr/4/templates/'); } else { $versionDefaults = array('service' => 'Solr3Service', 'extraspath' => Director::baseFolder() . '/fulltextsearch/conf/solr/3/extras/', 'templatespath' => Director::baseFolder() . '/fulltextsearch/conf/solr/3/templates/'); } return self::$merged_solr_options = array_merge($defaults, $versionDefaults, self::$solr_options); }