Skip to content
janek42 edited this page Jul 27, 2022 · 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.
Handling Unicode or cyrillic etc. alphabets

Integration

Rails integration for a quick and easy integration in your Rails server.

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