Picky is a really easy to use and fast Ruby search engine that helps your users find what they are looking for.
A lightweight semantic text search engine for categorized data, such as varchar fields from a database (probably like most – if not all – data in your application).
The standalone server offers a HTTP interface returning crispy clean JSON, and a comfortable web front end for your application. There's also a statistics web app and a live interface for changing parameters inside the running server.
A search engine for purely uncategorized data (like text from a book). It needs mostly categorized, semantic data (like names, or categories, most database fields, anyway) to excel.
Picky lives in a little cave called The Github Repo. He usually pays his rent on time.
Getting started: Got 5 minutes?
Got 2 minutes? Run
gem install picky
and copy paste
require 'picky' Person = Struct.new :id, :age, :name data = Picky::Index.new :people do category :age, partial: Picky::Partial::None.new category :name end data.replace Person.new(1, 34, 'Florian') data.replace Person.new(2, 77, 'Floris') people = Picky::Search.new data results = people.search '34 flori' # Takes around 0.0001s puts results # For logging puts results.allocations # => Returns ids, weight etc.
We're always glad for help requests, feedback, single-page scripts, project battle stories:
For quick info updates, follow Picky on twitter.
You might also find excellent Pickyists on IRC in #picky that can also help.