an eddy in the bitstream

Category: projects (Page 5 of 25)

Swish3 progress report

There’s been a ton of work on Swish3 in the last year. I’ve actually started planning a 1.0 release, after 5 years of work.

Lately I’ve been focusing on three things: (1) making the Perl bindings easier to install; (2) indexing of compressed documents; and (3) supporting XInclude of document fragments. The first is accomplished: you can install the entire library via CPAN. The last two are aimed at large doc sets where I want to keep the XML compressed on disk for space reasons, and where I want to re-use subsets of the document collections in building multiple indexes.

make test

Invoking

make test

in a project and watching as 1000s of successful tests scroll by, culminating in the

All tests successful.

message, gives me the same thrill of satisfaction as when I used to paint houses, and having finished a long day of sweaty labor at sanding and chipping old paint off, I could stand back and survey the structure, primed and ready for a fresh coat of paint. It’s the anticipation that thrills, in the same way that a trip to the grocery store and a full fridge, or several loads of clean laundry folded and stowed safely away in drawers, thrills me. The knowing that I am prepared, belt cinched tight, all tests successful.

Frozen Perl 2010

It’s been a long week, culminating today in Frozen Perl 2010, a Perl conference for and by Perl hackers, here in the Twin Cities. I gave two talks at today’s conference, one on Swish3 and the other on Devel::NYTProf and Search::Tools. Both talks seemed well-received.

In the process of preparing the talks I also released a few new, related modules to CPAN this week:

Search::OpenSearch
OpenSearch server glue for KinoSearch and Swish-e 2.x via SWISH::Prog. There’s a demo Plack app and ExtJS, using both search engines as part of the slides for my Swish3 talk.

I think OpenSearch is very cool and look forward to doing more with that spec, including adding more features (e.g. facets) to Search::OpenSearch.

Search::Query
Search::Query now has support for SQL and SWISH Dialects. I hope to add KinoSearch and Xapian dialects soon. The Search::Query::Parser now has (undocumented and experimental) support for range queries, so that you can say:

foo=( 1..4 )

and that’ll be expanded to

foo=( 1 OR 2 OR 3 OR 4 )

when the Dialect query object is stringified. Handy for things like ranges of dates, which is how I am using it as $work.

Search::Tools, SWISH::API::*
New releases of these older modules as well, with some bug fixes and refactoring to support the Search::Query.

So, yes. A busy week.

I enjoyed hearing other folks’ talks today at Frozen Perl. There was a good variety: pack/unpack, Unicode, i18n and best practice-related presentations. I met some new people, renewed friendships with folks I already knew, and drank lots of free coffee. The cookies were good too.

« Older posts Newer posts »

© 2024 peknet

Theme by Anders NorenUp ↑