Skip to content
floere edited this page Dec 18, 2011 · 48 revisions

Picky Wiki

Welcome to the Picky Wicky cough Wiki!

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

Where to go from here?

The official introductory page
The one page documentation
FAQ
IRC #picky
Contributions and Contributors
Roadmap
Wishlist

Configuring the server

Indexing defines how data is indexed.
  Character Substitution replaces e.g. “ö” with “oe”.
Indexes hold the data.
  Sources tell Picky where to get the data.
  Categories categorize parts of the data.
Searching defines how to handle a query text.
  Character Substitution replaces e.g. “ñ” with “n”.
Searches offer a search interface on one or more indexes.

Click parts of the example to get more info:

# Indexes hold the indexed data.
#
data = [[Picky::Index.new|Index Configuration]] :example do
  # Defines how data is indexed.
  #
  [[indexing|Indexing Configuration]] [[substitutes_characters_with|Charactersubstituters-configuration]]: CharacterSubstituters::WestEuropean.new
           [[and more options|Indexing Configuration]]
  [[source { Book.order('title ASC') }|Sources Configuration]] # tell Picky where to get the data.
  # [[Categories|Categories Configuration]] categorize parts of the data.
  #
  [[category|Categories Configuration]] :title, partial: Partial::Substring.new(from: 1)
  [[category|Categories Configuration]] :author, similarity: Similarity::DoubleMetaphone.new(2)
end
#
# [[Searches|Searches Configuration]] offer a search interface on one or more indexes.
#
search = [[Search.new|Searches Configuration]] data do
  # Defines how to handle a query text.
  #
  [[searching|Searching Configuration]] splits_text_on: /\s\&/
end

Configuration Examples to get an idea how it’s done.

MongoMapper Example to see how to set up Picky to use with MongoMapper/MongoDB.

Configuring the client

Note: For now, see the instructions at http://localhost:3000/configure in the scaffolding client.
The Rails/Sinatra etc. client
Client Configuration
JS Frontend Configuration

The results

Format and Structure of the Picky JSON.

Performance Tips

Best Practices Setup

Caveats

A note on index reloading and realtime indexes