the query parser (Webservice::Solr::Query) is a piece of junk
that generates many queries which do not work in solr. solr is very picky about how parenthesis are used and frnakly the queries it generates are overly complex for such simple data structures we are
feeding in. also this is no longer maintained
This distribution provides a very helpful way to quickly start working with Solr from Perl.
You can add multiple documents to a Solr index, run basic queries against the index and do various other useful things.
However, after a little use, the module's limitations quickly become apparent.
The WebService::Solr object relates to a specific Solr core. It does not provide a higher level abstraction relating to a Solr server. So, if you want to atomically switch two cores (perhaps one contains an updated index you have built in the background) using Solr's SWAP command, you need to build a request from scratch yourself using LWP.
If you want to search for a given string in either of two fields, for example a title and description, WebService::Solr::Query offers no way to do this. You need to build the query yourself, taking care to escape the fields that WebService::Solr::Query normally escapes for you. As of version 0.21, an unfixed ticket exists recognising this design flaw.
In summary, I would recommend this module for experimentation with Solr and for basic use. Make sure you account for its limitations when trying to do anything a little more advanced.
I've only chosen to give the docs and interface a 4 because I haven't needed them extensively.
In implementing Data::SearchEngine::Solr and using this module for $work, I'm prepared to pay it the highest compliment I know of for a library: I barely noticed I was using it.
The flexibility of using a simple hash to manage the options to be sent to Solr mean there's no API mismatch between Solr's documentation and it's usage in this module. Anyone who is familiar with Solr (or who is learning it as I am) can quickly apply their knowledge here.
Greate module, written nicely using Moose, looks to even support latest Solr 1.4 features such as TermsComponent. I know it's version 0.08, but docs need a little more explanation and examples to first users of it. I had some trouble getting certain things to work at first and had to look at module code to see what I needed to do.