Abandoning Searchable Plugin
My team has decided to abandon the searchable plugin in favor of solr from apache. I think the searchable plugin has great potential, so I thought I'd share some constructive criticism to help it along.
The number one problem was the documentation doesn't seem to match up with the implementation (note that the wiki contains formatting bugs that make all documentation for grails a bit difficult to read at the moment). This made the plugin appear to be really buggy, when it many in fact not be buggy at all, but I have no way of knowing because I can't get a lot of things working. For one, the documentation implies that something simple like a one-to-one or one-to-many relationship should work out of the box. Like for example Book.search("words in a chapter that are in a one-to-many relationship") should yield hits, but it does not. Instead I spent several hours figuring out how to make that work, and ran into many road blocks and misdirections that came straight out of the documentation, like for example "embedded = chapters" isn't correct any more, but it's still there.
The number two reason, and probably the more important reason, is that there is no support for clustering. I guess you can store your index in a database, but that kinda-sorta, from a performance POV, defeats the purpose of lucene, doesn't it? The only solution I could find involved using Terracotta and hacking the Grails source code. There is absolutely no way I'm going to get buy in if it involves hacking Grails source. I'd imagine any site, beyond a hobby site, is going to require some clustering. It needs to be supported out of the box. Solr does that, so we're switching.
That said, the development time involved in the switch to Solr is going to increase dramatically, and I want to encourage development on the searchable plugin as I think it's a fantastic addition to the grails suite.
-Dustin