Fork me on GitHub

Picky

About

Picky is a really easy to use and fast Ruby search engine that helps your users find what they are looking for.

Try a…

What it is

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.

What it is not

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.

Where it is

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

puts results # For logging
puts results.allocations # => Returns ids, weight etc.

Help / Feedback

We're always glad for help requests, feedback, single-page scripts, project battle stories:

Share it in the mailing list

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.

Logos and all images are CC Attribution licensed to Florian Hanke.