I've successfully implemented a sample run of SOLR on my ubuntu box, and I have to say that I'm very impressed. I haven't gone so far as to run much other than the sample implementation included as part of the tutorial, but the tutorial does show off a good deal of the feature set, and taking a peek at the admin interface shows that there is a lot of power under the hood.
I've mentioned before that I don't know a heck of a lot about java, but I have dabbled with it to a degree that I have syntactical familiarity and have run through the process of setting up Tomcat and other Servlet Engines, as well as installing servlets. My brief experience gave me the confidence that I could actually try this software out without completely screwing up my system, because the slim documentation set assumes at least a tertiary familiarity with Java.
As it turns out, to check out Solr, you don't actually need to have Tomcat installed. It comes pre-packaged with jetty, so to run the example, all you really have to do is have Java installed and run
java -jar start.jar
It's not all fun and games though. You can't simply upload Solr to your web server and have a sitewide full text search engine in place. Documents need to be indexed by the server and in order to be indexed, they need to be in an XML format according to your own schema. Samples are included, but implementation of this search engine will actually require some development prior to implementation. You need to have a plan that would encompass selecting the documents to be indexed, parsing those documents into an appropriate xml format, updating the documents as needed, and of course there is a need for a presentation layer.
One thing that I notice right off the bat is that there is no obvious way to skew the results - which I think is an important feature for any search engine. As an administrator you want to make sure that the result set is relevant for a given query, especially on highly trafficed queries. I can see where the custom schema feature can come into play because you may be able to implement a system that would float tagged results to the top of the list for a given query, but that functionality is not entirely obvious to me at this time. Perhaps it's something that's been discussed on the mailing list, but I haven't afforded myself the opportunity to actually do much research at this point.
I really like that search results can be easily returned as XML, JSON or a number of other formats. The JSON parser included with PHP 5.2 is very high performance and is a lot easier to deal with than XML in my opinion, but there are plenty of developers out there already experienced with XML that could make use of that format readily.
Solr supports a very robust query syntax right out of the box, and actually extends on the Lucene syntax as well - adding highlighting capabilities and faceted searches into the mix.
All in all, the initial setup is fairly easy to implement. It's not exactly a plug and play site search engine, but the capability is in place with a little bit of work. Before I delve into this too deeply, i plan on setting up Nutch as well. The Solr project fits well into some of my long term plans with full text searching, but perhaps Nutch provides a decent site search engine out of the box.
Reviewing Solr Commentary
