On Aug 28, 2008, at 3:11 AM, John Leach wrote:

Is KinoSearch something that could be a Ferret replacement?

Yes.  The projects are roughly comparable.

I'd be happier if Ferret's ultimate successor was named "Lucy", though, because then more credit would flow to Dave.

What are the differences between it and Ferret?

From a high level, they're pretty similar. Analyzer, QueryParser, IndexReader, and all that.

There are superficial differences in the implementations of individual classes. For instance, Ferret provides several different Tokenizer classes; KinoSearch provides one, based on a regex pattern matching one token.

    # KinoSearch version of WhiteSpaceTokenizer
    tokenizer = Tokenizer.new(:pattern => "\\S+")

At a low level, things start to diverge. For instance, all metadata in the KinoSearch index file format is encoded as JSON, so it's human- readable for easy spelunking and debugging. Also, it's easier to override methods in KinoSearch, so you can do things like implement SearchServer/SearchClient or MockScorer or KSx::Highlight::Summarizer in pure Perl; I believe the mechanism will work similarly with Ruby bindings.

what are the differences between it and the planned Lucy project

Personally, I think of them as the same project. KinoSearch is at version 0.x and will soon become version 1.0. Lucy will be version 2 -- KinoSearch's successor.

Lucy has never had a high-level API -- the work Dave and I did was all on the low-level core. That core has now been fully implemented in the KinoSearch dev branch.

What happens between version 1 and 2 depends on how the rollout of version 1 goes.

Do you happen to know if Dave is likely to work on Ferret again someday?

I know he would like to. However, I hope to persuade him to return to his work on Lucy. :)

Marvin Humphrey
Rectangular Research
http://www.rectangular.com/

_______________________________________________
Ferret-talk mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ferret-talk

Reply via email to