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