For the record, while Lucene is pretty well-behaved as far as I can tell, DRb running under JRuby is not. When hit with multiple request streams simultaneously, DRb under JRuby 1.0.2 very quickly falls over and stops responding to all queries. DRb under JRuby 1.1b1 *almost* works, but every now and then JRuby will freak out and for a few requests things will fail in very strange ways. (Attempts to construct Java objects will fail with exceptions such as "undefined method `constructors' for nil:NilClass" or "undefined method `java_class' for Class:Class"; sometimes looking up a class will fail...)
On the plus side, I do get the impression that JRuby development is pretty active, and I see some concurrency bugs listed as high-priority for JRuby 1.1, some of which have already been patched in the trunk. My guess is that JRuby+Lucene+DRb will be a fine choice in a few months...it was actually pretty painless to set up, even with MLI Ruby RoR clients talking to a JRuby indexing server. (I have a simple metaprogramming hack that lets the client specify a sequence of code to execute on the server side, where the specification looks *almost* like normal Ruby code; this effectively lets me easily construct gnarly Lucene query trees in MLI Ruby clients that know nothing about Lucene or Java. I actually initially came up with this hack to work around Ferret's "query trees and filters don't marshal" issue.) JRuby's not ready for serious use in scenarios with concurrency just yet, though. Meanwhile, I'm hoping to avoid Solr because it seems (1) kind of complicated for what I'd actually get out of it in my particular application, (2) not particularly well-documented given its size, and (3) likely to get in my way when I want to do anything low-level and gnarly with Lucene. I guess I'll continue limping along with Ferret for the moment and hope the concurrency issues get worked out soonish. Has anyone actually decided specifically to make Ferret bulletproof in the face of concurrency over the next few months, or is it probably just not going to happen? If it doesn't, I suspect Ferret will probably fall by the wayside as more Ruby people jump ship for Lucene-based solutions. Which would be a shame, because Ferret does hold a lot of promise...indexing is hard, and Ferret is *almost* a great solution. (Too bad the last 20% is usually 80% of the work...) -- Scott On Nov 18, 2007 4:45 PM, Julio Cesar Ody <[EMAIL PROTECTED]> wrote: > Great. For my own curiosity, and maybe people here share some of it: > > Is it possible to write your own custom analyzers for Solr? If so, how > easy it is? Can one do that in Ruby or do I have to write it in Java? > > I personally think that's one of the greatest things about Ferret. So > far I haven't bothered looking into Sphinx or Solr precisely because, > from a glance, I couldn't find a way to customize anything in detail > like I can do with Ferret. I assume there is a way... > > Thing is, reading through the Ferret booklet (the one from OReilly), > you get a glimpse of how easy it is to build custom solutions using > it. So whereas it's kind of sad that the lead developer has been > distant from the project in the last few months (?), I have to say, > there's hardly matching how easy it is to work with it. > > > > > On Nov 18, 2007 8:29 PM, Erik Hatcher <[EMAIL PROTECTED]> wrote: > > > > On Nov 17, 2007, at 5:12 AM, Scott Davies wrote: > > > Hmmm...I'd first heard of Solr only a couple of days ago, and I hadn't > > > been aware of a Ruby API to it until you mentioned it. > > > Interesting...thanks! > > > > I've honestly given fairly little of my time to Ferret, though I have > > tinkered with it some and it is mighty fine! > > > > Believe you me, I don't want to steal any thunder from Ferret. And > > I've not compared/contrasted them much myself. Truth be told I'm > > still a Java dude, and knowing that Lucene and Solr are in Java, > > excel at what they are designed to do and already gulping the Apache > > cool-ade I really dig Solr. > > > > I've presented solr+ruby a couple of times now, once at RailsConf and > > then again a few weeks ago at rubyconf. > > > > RailsConf: > > <http://www.ehatchersolutions.com/~erik/SolrOnRails.pdf> > > > > rubyconf: > > <http://code4lib.org/files/solr-ruby.pdf> > > > > acts_as_solr as it exists today is sub-optimal compared to > > acts_as_ferret. I'm quite admittedly not much into relational > > databases so I have only tinkered in this area myself. > > > > Erik > > > > _______________________________________________ > > Ferret-talk mailing list > > [email protected] > > http://rubyforge.org/mailman/listinfo/ferret-talk > > > _______________________________________________ > Ferret-talk mailing list > [email protected] > http://rubyforge.org/mailman/listinfo/ferret-talk > _______________________________________________ Ferret-talk mailing list [email protected] http://rubyforge.org/mailman/listinfo/ferret-talk

