This past Tuesday I attended the NYC Python User’s Group meeting at the offices of DayLife.
The presentation this week was by Peter Fein about GrassyKnoll, a text search engine written in Python.
From TOPP’s point of view there are several interesting things about it:
- It could provide us with a sitewide search solution for openplans.org and livablestreets.com.
- It can use any of a number of pluggable back ends (notably PyLucene).
- You interact with it entirely via a simple REST API.
- A GrassyKnoll client can also trivially be a GrassyKnoll server. (Peter gave a live demo of this.) In theory this could allow for fun things like smart clustering, where one server gets your query and dispatches queries to N other servers, and then merges the results appropriately. The end client still sees the same simple rest API.
- It’s written entirely in Python and is Free.
- They’re looking for more people to help out and would love for us to get involved.
The major down side is that they’re still some months away from a production-ready release. (There were a few glitches in the live demo.) When I pressed him about this, Peter said “definitely by the end of the year.” I got the impression that more hands helping would speed that up.
Also, it doesn’t define any kind of common query language; it just passes them along to the back end. So you do have to know what you’re really talking to.
Peter said he was hopefully coming to the next NYCPUG meeting that we’re hosting here at TOPP on July 15.

