Goobi.Presentation supports searches using SOLR. The SOLR query string needs special handling for these characters: +-&|!(){}[]^"*?:. Some of them cannot be used in the search field: If a user supplied string contains one of the characters +-!(){}[]^":, the search will fail and a TYPO3 error page "Oops, an error occurred!" is shown. With TYPO3 debugging enabled, call stack information is shown:
Uncaught TYPO3 Exception
#400: '400' Status: Bad Request (More information)
Apache_Solr_HttpTransportException thrown in file
/var/www/html/typo3conf/ext/dlf/lib/SolrPhpClient/Apache/Solr/Service.php in line 340.
24 Apache_Solr_Service::_sendRawGet("http://dlf:dlf@localhost:8080/solr/dlfCore2/select?wt=json&json.nl=map&q=%5C&start=0&rows=50000")
/var/www/html/typo3conf/ext/dlf/lib/SolrPhpClient/Apache/Solr/Service.php:
01170: if ($method == self::METHOD_GET)
01171: {
01172: return $this->_sendRawGet($this->_searchUrl . $this->_queryDelimiter . $queryString);
01173: }
01174: else if ($method == self::METHOD_POST)
23 Apache_Solr_Service::search("\", 0, 50000, array)
/var/www/html/typo3conf/ext/dlf/common/class.tx_dlf_solr.php:
00281:
00282: // Perform search.
00283: $results = $this->service->search((string) $query, 0, $this->limit, $this->params);
00284:
00285: $this->numberOfHits = count($results->response->docs);
22 tx_dlf_solr::search("\")
/var/www/html/typo3conf/ext/dlf/plugins/search/class.tx_dlf_search.php:
00554:
00555: // Perform search.
00556: $results = $solr->search($query);
00557:
00558: $results->metadata = array (