Google Groups

Picky 1.2.2: Comfy Statistics Interface & Client API change


Picky / Florian Hanke Dec 21, 2010 9:03 AM
Posted in group: Picky-Ruby
Hi dear Picky users

Version 1.2.2 has been released! We think it's pretty cool :)

Two important news:
1. Picky Statistics Interface
2. BREAKING CHANGE in the Ruby client introduced in 1.2.0, see below.

1. Picky Statistics Interface
Version 1.2.1, and now 1.2.2 introduced the picky-statistics gem.

In keeping with the relatively modular nature of Picky (independent
tentacles), we introduce a simple web interface where you can see how
your Picky is used.
It is great for improving your search configuration.

How to use it? Easy, in the terminal just use:
  picky stats path/to/your/search.log <some_port, default 4567>
If you've used the generator to create the Picky server, this will be
in log/search.log, copy this:
  picky stats log/search.log

For example, in the picky main directory, I enter
  picky stats server/test_project/log/search.log
and picky-statistics tells me that
  Logfile /Users/admin/temp/picky/server/test_project/log/search.log
found.
(the log file to parse has been found)
And it starts a Sinatra webapp:
  == Sinatra/1.1.0 has taken the stage on 4567 for development with
backup from Thin
  >> Thin web server (v1.2.7 codename No Hup)
  >> Maximum connections set to 1024
  >> Listening on 0.0.0.0:4567, CTRL+C to stop
Now, browse to:
  http://localhost:4567/
and enjoy!

What it does:
a) It runs a Sinatra App in the gem.
b) When you surf to the running server, it starts parsing the log file
(might take a bit of time the first time around).
c) Each time, you reload, it will parse new search requests and update
the page.

It's especially good for improving your search configuration. Too many
people get zero results? Why? How many use pagination (aka offset)?
How fast is Picky?

As always, we're happy for feedback.

2. Ruby Client API change:
The old API used a hash to send off a search, like this:
   Picky::Client::Full.search(:query => 'bla', ...more options...)
This has been changed to:
   Picky::Client::Base.search('bla', options)
Where the options is still a hash, like { :offset => 20 }.

We changed the API because the query text was not really optional, but
mandatory. This is now encoded in the non-optional parameter of
#search. Now it makes more sense and is cleaner.
Sorry if we broke your app, cherished early adopter!

Merry Christmas etc. and see you on the other side!
   Picky