Solr searching errors

Non-logged in users are getting a 400 error on search results. Stack trace is below. If I change the Solr plugin settings from “allow private items in results if logged in” to not allowing, I then get the same error whether logged in or not. I’m thinking that’s an indication of some kind of permissions trouble?

Background: solr search is working on the dev instance of this install, but not on what will be the new production instance. Solr for dev & production appear to be configured the same.

Thanks for any help you can offer.
Bobb Menk
MIT Lincoln Laboratory Library

exception ‘Apache_Solr_HttpTransportException’ with message ‘‘400’ Status: Bad Request’ in /var/www/html/omeka/plugins/SolrSearch/lib/solr-php-client/Service.php:338 Stack trace: #0 /var/www/html/omeka/plugins/SolrSearch/lib/solr-php-client/Service.php(1176): Apache_Solr_Service->_sendRawGet(‘http://libweb4:…’) #1 /var/www/html/omeka/plugins/SolrSearch/controllers/ResultsController.php(100): Apache_Solr_Service->search(‘morrow AND publ…’, 0, ‘50’, Array) #2 /var/www/html/omeka/plugins/SolrSearch/controllers/ResultsController.php(65): SolrSearch_ResultsController->_search(0, ‘50’, true) #3 /var/www/html/omeka/application/libraries/Zend/Controller/Action.php(516): SolrSearch_ResultsController->indexAction() #4 /var/www/html/omeka/application/libraries/Zend/Controller/Dispatcher/Standard.php(308): Zend_Controller_Action->dispatch(‘indexAction’) #5 /var/www/html/omeka/application/libraries/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #6 /var/www/html/omeka/application/libraries/Zend/Application/Bootstrap/Bootstrap.php(105): Zend_Controller_Front->dispatch() #7 /var/www/html/omeka/application/libraries/Zend/Application.php(384): Zend_Application_Bootstrap_Bootstrap->run() #8 /var/www/html/omeka/application/libraries/Omeka/Application.php(73): Zend_Application->run() #9 /var/www/html/omeka/index.php(23): Omeka_Application->run() #10 {main}

This appears to have been caused by a difference in the schemas as created by the solr plugin. In the working version the field that holds the value for whether or not an item is public, is boolean, so true/false works. In the non-working one, that same field was defined as binary, so it required a 1/2 value.

Can’t say I understand why the schemas came out differently though. I would have thought that was controlled by the plugin itself.

The schema is part of the solr-core directory provided by the plugin. Most people set up Solr by copying the contents of that directory to their Solr installation, so maybe different versions were copied between your dev and prod environments?

It looks like the public field was changed from a string to a boolean between version 2.2.0 and 2.2.1: