Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

270 lines (160 sloc) 13.264 kB

Version 1.4.0 (unreleased)

  • hanke: (client/generators) Latest Javascript PickyClient object includes the option to format the choices better, option group: [['author', 'title', 'subjects'], ['publisher']] lets you group certain categories together while option choices: { 'title': format: "<strong>%1$s</strong>", filter: function(text) { return text.toUpperCase(); }, ignoreSingle: false } lets you define how each combination is handled in detail. Again, hard to explain, easy to see. (see issue for details, closes issue 9)
  • hanke: (client/generators) Added a wrapResults options where you can define wrapper HTML bits that are wrapped around each allocation group of <li> results. The default is: wrapResults: '<ol class="results"></ol>'.
  • hanke: (client/generators) Headers are now contracted, this means no more “written by florian and written by hanke”, but “written by florian hanke”. (closes issue 10)
  • hanke: (client) Split #interface method into => #input, #results, so that users can wrap each with custom elements. Don’t forget to wrap into a div#picky.
  • hanke: (generators, breaking change!) Example now constricts the Picky interface width using a div.content. Please use a wrapper div to constrict div#picky.
  • hanke: (generators) Cleanup of Javascript code, inclusion of formerly external javascripts (scrollTo, timer, jQuery 1.5).
  • hanke: (generators, possible breaking change!) Interface HTML structure refactor. Results should now be li-s. Result groups (combinations/allocations, around the result li-s) are each inside an ol.results. Please check your CSS files if they need to be adapted to the new structure.
  • hanke: (generators) Cleanup of CSS, much more flexible and specific.

Version 1.3.4

  • hanke: (generators/client) In the generated Sinatra client, queries can be passed in through the query param q. Example:
  • hanke: (generators/client) In the generated sinatra client, the back/forward buttons work via jquery.address plugin. Closes github issue 6.

Version 1.3.3

  • hanke: (server/client) Server now sends the similar word instead of the original in similarity tokens (semelor~ → similar). Even if that means, that the original way of writing is not preserved (SEmElOr~ → similar). We’re trying to help people have good searches, so there.

Version 1.3.2

  • hanke: (all) Fixed description in the “picky” command. Also now shows optional parameters more clearly.

Version 1.3.1

  • hanke: (server) Ability to handle string/symbol keys (for future key/value store data sources).
  • hanke: (server) Live interface uses select instead of sleep in the master process.

Version 1.3.0

  • hanke: (server) Offers a new routing API, an interface that permits changing parameters in the running server. Use route %r{/admin} =>
  • hanke: (statistics) The statistics server is now called “Clam”, a chain smoking friend of Picky’s.
  • hanke: (live) A new Gem “picky-live” that offers a live interface into the Picky server, provided you have a route for it. It is called “Suckerfish”, and is one of Picky’s friends, too.

Version 1.2.4

  • hanke: (server) default_indexing (in the application.rb) provides a new option reject_token_if => some_lambda, e.g.: reject_token_if: lambda { |token| token.nil? || token == :hello } where you can define which tokens go into the index, and which do not. Default lambda is: &:empty?. This means that only non-empty tokens are saved in the index. You could, for example, not save tokens that have length < 2 (since they might be too small for your purposes). Note that tokens are passed into the hash as symbols.
  • hanke: (statistics) Fixed a bug where the last line in the log file was counted once a second time after reloading the stats.
  • hanke: (statistics) Slight interface redesign.

Version 1.2.3

  • hanke: (server) Fixed a bug where the partial strategy Partial::None was not correctly used: A query like Peter did not return results even if “Peter” could be found using quotes: “Peter” (FYI, double quotes force Picky to use the exact index instead of the partial one. While, conversely, the asterisk* forces Picky to use the partial index instead of the exact one).

Version 1.2.2

  • hanke: (statistics) Statistics server handles logfile reading in a cleaner way when the gem has been installed by root.

Version 1.2.1

  • hanke: (statistics) (BETA) New statistics gem for Picky. Run picky stats path/to/your/search.log [port] to start a statistics server. Go to http://localhost:4567 after running the command to take a look.

Version 1.2.0

  • hanke: (client) (BREAKING) => ‘bla’) has changed to‘bla’), as the query itself is not optional. The rest of the options is still passed in as a Hash through the second parameter.

Version 1.1.7 (1.2.0 pre)

  • hanke: (server) Redefined API for 1.1.6 beta feature, ranged search.
  • hanke: (documentation) API for #define_ranged_category.

Version 1.1.6

  • hanke: (server) Enabled beta feature “low/high limited range search”, see API RDoc (IndexAPI class).

Version 1.1.5

  • hanke: (server) Passing in a similarity search (e.g. with text “hello”) will never return “hello” as a similar token.

Version 1.1.4

  • hanke: (generators) Removed unnecessary jquery-1.3.2 from client, since it wasn’t referenced anyway.

Version 1.1.3

  • hanke: (server) The CouchDB source now uses a little trick/hack to make its ids work in Picky. They are translated into decimal numbers from its hex string representations. Recalculate using #to_s(16) before getting objects from CouchDB in a webapp.

Version 1.1.2

  • hanke: (generators) Added generator for empty unicorn projects, use picky generate empty_unicorn_project <project_name> to generate one.

Version 1.1.1

  • hanke: (server and client) Removed generator projects that have been moved to picky-generators. Gems now much smaller :)

Version 1.1.0

  • hanke: (server and client) Generators extracted into picky-generators gem.
  • hanke: (generators) Generators and example projects for both server and client.

Version 1.0.0

  • hanke: Lots of API RDoc.
  • hanke: Yaaaay! Finally :)

Version 0.12.3 (1.0.0 pre4)

  • hanke: (server) Fixed cased file name (led to problems under Linux, thanks Bernd Schoeller)

Version 0.12.2 (1.0.0 pre3)

  • hanke: (server) New :from option. Assume you have a source, file:'some_file.csv') but you want the category to be called differently. Use the from option as follows: define_category(:similar_title, :from => :title).
  • hanke: (server) CSV source uses FasterCSV, passing through all its options (col_sep, row_sep et cetera).
  • hanke: (server) More understandable output for rake try, rake try:index, rake try:query.

Version 0.12.1 (1.0.0 pre2)

  • hanke: (server) Fixed a bug where the default qualifier definition (like the author in the query author:tolkien) for categories were ignored.

Version 0.12.0 (1.0.0 pre1)

  • hanke: (server) API change in application.rb: Use #define_category instead of #category on an index. (category still possible, but deprecated)
  • hanke: (server) Internal rewrite.

Version 0.11.2

  • hanke: (server) Rake task index:check will check if all necessary index files are generated. (Nice to use before restarting.)

Version 0.11.1

  • hanke: (server) Better error reporting in Rake tasks. Task naming improved.
  • hanke: (server) Internal cleanup.

Version 0.11.0

  • hanke: (server) Major API and internals rewrite. See generated project for help.

Version 0.10.5

  • hanke: (server) Source CouchDB added (thanks to

Version 0.10.4

  • hanke: (server) Typo fixed (thanks to

Version 0.10.3

  • hanke: (client) Helpful configuration page in the client at /configure.

Version 0.10.2

  • hanke: (server) Phonetic similarity (e.g. lyterature~) available through, see example.

Version 0.10.1

  • hanke: (server) :weights option for queries also ok in the form: { [:cat1, :cat2] => 4 }, where 4 is any weight.

Version 0.10.0

  • hanke: (server) (BREAKING) Total rewrite/exploration of the Application API.
    Stay on 0.9.4 if you don’t want to update right now.
  • hanke: (server) Character substitution now configurable. Default is no character substitution.

Version 0.9.4

  • hanke: (server) rake routes: Shows all current URL paths, and if they are processable fast.

Version 0.9.3

  • hanke: (server) Fixed: Querying parameters are not ignored anymore.

Version 0.9.2

  • hanke: (client) Fixed result_hash.entries to return the right amount of entries.
  • hanke: (client) The result_hash#entries now takes a block and replaces the e.g. AR instances with e.g rendered results.
  • hanke: (client) Locale handling fixed. Uses the locale of the HTML tag by default.

Version 0.9.1

  • hanke: (server) Delicious missing gem notice if www-delicious gem is missing.
  • hanke: (server)Partial::Subtoken renamed to Partial::Substring.
    Options: down_to → from, starting_at → to
  • hanke: (server) Index bundle file handling extracted into specific Index::Files backend.

Version 0.9.0

  • hanke: (server/client) Jump to 0.9.0 to work on API, release 1.0.0 soon.
  • hanke: (server) Partial indexing now only down to -3, e.g. florian → partial: floria, flori, flor.
    If you want down_to the first character (florian, floria, flori, flor, flo, fl, f), use:
    field(:some_field_name, :partial => => 1))
  • hanke: (server), pass) for indexing your delicious posts.
  • hanke: (server) indexing and querying config now done on tokenizer instances.

Version 0.3.1

  • hanke: (server) Generator gives more informative NoGeneratorError message.

Version 0.3.0

  • hanke: (server) Uses json (index, index weights) and marshal (similarity index) to dump indexes.
  • hanke: (server) Generator is more helpful (thanks to
  • hanke: (server) Generator for a Sinatra project. (picky-client sinatra project_name <- Note: Changed to picky generate sinatra_client project_name)
  • hanke: (client) Helpful generator. (thanks to

Version 0.2.4

  • hanke: (server) Indexing output, output in general cleaned up.
  • hanke: (server) Better info after generating a new project (thanks kschiess).
  • hanke: (server) Indexer now uses json for the dump files (much faster, slightly larger, thanks to
  • hanke: (client) JS files rewritten.

Version 0.2.3

  • hanke: (server) Explicit index buffering: Indexer hits filesystem only seldomly.
  • hanke: (server) Internal rename from full index to exact index (visible in index filenames).
  • hanke: (server) Solr Indexing removed until someone needs it. Then we’ll talk cash. Just kidding.
  • hanke: (server) Improved Gemfile.

Version 0.2.2

  • hanke: (server) Umlaut handling (i.e. character substitution) now pluggable.
  • hanke: (server) Apps finalization now handled through Ruby callback (thanks to

Version 0.2.1

  • hanke: (server) Fix for negative partial index values (:partial => => -3))

Version 0.2.0

  • hanke: (server) Only uses JSON to encode results.
  • hanke: (client) Only uses JSON for full and partial queries.

Version 0.1.0

  • hanke: (server) Application interface rewrite. See a freshly created
    project (using picky project <- Note: Renamed picky generate unicorn_server ).

Version 0.0.9

  • hanke: (client) Cleanup. Frontend example.

Version 0.0.8

  • hanke: (server) Application#add_index instead of Application#type.
  • hanke: (server) Simplified scaffolding.

Version 0.0.7

  • hanke: (server) Gem compiles on install. Do not compile on run.

Version 0.0.6

  • hanke: (server) Removed unnecessary gem dependencies (thanks to niko).
  • hanke: (server) Added CSV to the possible Sources., :author, :isbn, :file => ‘data/books.csv’),
  • hanke: (server) Renamed all instances of SEARCH_* constants to PICKY_*. (Uses RACK_ENV)

Version 0.0.5

  • hanke: (server), now top level in newly created project (more standard).
  • hanke: (server) Port now defined in (use listen ‘host:port’).
  • hanke: (client) Enriched callbacks in the JS interface definition (before, success, after).

Version 0.0.4

  • hanke: (client) Interface now created using Picky::Helper.interface or .cached_interface (if you only have a single language in your app).

Version 0.0.3

  • hanke: (server) C-Code cleaned up, removed warnings.

Version 0.0.2

  • hanke: (server) Newly created application better documented.

Version 0.0.1

  • hanke: (server/client) Initial project. Server (picky) and basic frontend client (picky-client) available.
Jump to Line
Something went wrong with that request. Please try again.