Can't wait to try this! thanks, George. On 10/21/05, David Balmain <dbalmain.ml / gmail.com> 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 > > -- http://www.gmosx.com http://www.navel.gr http://www.nitrohq.com