
erik at ehatchersolutions
Oct 21, 2005, 1:51 PM
Post #1 of 1
(1797 views)
Permalink
|
|
Fwd: [Fwd: [ANN] Ferret 0.1.0 (Port of Java Lucene) released]
|
|
How about this?! I haven't tried it yet. Experiences? Begin forwarded message: >> From: David Balmain <dbalmain.ml [at] gmail> >> Reply-To: ruby-talk [at] ruby-lang >> To: ruby-talk ML <ruby-talk [at] ruby-lang> >> Subject: [ANN] Ferret 0.1.0 (Port of Java Lucene) released >> Date: Fri, 21 Oct 2005 11:36:15 +0900 >> >> 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 >
|