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?
Install and run Picky with a nice Sinatra interface
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
p results # For logging
p 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.
This webpage & the images on it have been designed by me,
Florian Hanke
@hanke
aka "Flöre", or "Floere" – if you have personal feedback on anything, I'm pleased to hear it.