From: Bob Hutchison Date: 2005-10-21T20:19:17+09:00 Subject: Re: [ANN] Ferret 0.1.0 (Port of Java Lucene) released This is great news! I'm installing it now, and will have a go at it whenever the gem shows up :-) The link to the tutorial embedded on your intro page is incorrect (the one in the TOC at the top right works though) Cheers, Bob On Oct 20, 2005, at 10:36 PM, David Balmain wrote: > Hi Folks, > > I know there have been at least a few people looking for something > like this > on the mailing list, so please check it out. It's a port of a Java > project > so I'd particularly like to hear how I can make it more Ruby like. > Enjoy! > > Dave Balmain > > == Description > > Ferret is a full port of the Java Lucene searching and indexing > library. > It's available as a gem so try it out! To get started quickly read > the quick > start at the project homepage; > > http://ferret.davebalmain.com/trac/ > > == Quick (Very Simple) Example > > require 'ferret' > > include Ferret > > docs = [ > { :title => "The Pragmatic Programmer", > :author => "Dave Thomas, Andy Hunt", > :tags => "Programming, Broken Windows, Boiled Frogs", > :published => "1999-10-13", > :content => "Yada yada yada ..." > }, > { :title => "Programming Ruby", > :author => "Dave Thomas, Chad Fowler, Andy Hunt", > :tags => "Ruby", > :published => "2004-10-06", > :content => "Yada yada yada ..." > }, > { :title => "Agile Web Development with Rails", > :author => "Dave Thomas, David Heinemeier Hansson, Leon Breedt, > Mike Clark, > Thomas Fuchs, Andreas Schwarz", > :tags => "Ruby, Rails, Web Development", > :published => "2005-07-13", > :content => "Yada yada yada ..." > }, > { :title => "Ruby, Developer's Guide", > :author => "Robert Feldt, Lyle Johnson, Michael Neumann", > :tags => "Ruby, Racc, GUI, FOX", > :published => "2002-10-06", > :content => "Yada yada yada ..." > }, > { :title => "Lucene In Action", > :author => "Otis Gospodnetic, Erik Hatcher", > :tags => "Lucene, Java, Search, Indexing", > :published => "2004-12-01", > :content => "Yada yada yada ..." > } > ] > > index = Index::Index.new() > > docs.each {|doc| index << doc } > > puts index.size > > puts "\nFind all documents on ruby:-" > index.search_each("tags:Ruby") do |doc, score| > puts "Document <#{index[doc]["title"]}> found with a score of % > 0.2f" % score > end > > puts "\nFind all documents on ruby published this year:-" > index.search_each("tags:ruby AND published: >= 2005") do |doc, score| > puts "Document <#{index[doc]["title"]}> found with a score of % > 0.2f" % score > end > > puts "\nFind all documents by the Pragmatic Programmers:-" > index.search_each('author:("dave Thomas" AND "Andy hunt")') do | > doc, score| > puts "Document <#{index[doc]["title"]}> found with a score of % > 0.2f" % score > end > > ---- Bob Hutchison -- blogs at Recursive Design Inc. -- Raconteur --