theme selector

light blue screenshot grey screenshot navy screenshot dark green screenshot red and black screenshot
 

by Tony Chang
tony@ponderer.org

All opinions on this site are my own and do not represent those of my employer.

Creative Commons Attribution License

I like console apps

Sep 01, 2004, 01:54am EDT

 

 

I hacked together a command line utility for searching my email. It’s a command line app because I still use pine for email. Pine is definitely better than gmail and worse than mutt.

Anyway, although I search from the command line, the results acutally show up in pine, so it’s not that terrible.

It uses lupy, a python port of lucene, a full text indexer and searcher in java.

Searches are fast, less than a second, but indexing my 13000+ messages (that’s about 10 months worth and doesn’t include spam) took a while (I think about 50 minutes).

In hindsight, lupy was probably a mistake. I should have just used lucene as it is faster and has many more search options (like wildcard, prefix, fuzzy, etc).

Related programs:

  • mairix
    Another program that seems to be similar. There wasn’t enough information about how the search works for me to trust it.
  • zoe
    Looks pretty nice, but it’s a heavy Java application. I tried to set it up a while back and failed. It’s based on Lucene.
  • A mailing list post about using lupy as an addon to kmail.

jack cummings at Nov 28, 2004, 02:31pm EST

I like this better than mairix, but how do you make lupy return more than 100 matches?

./search.py google 1031 hits 100 messages found in 3.18 seconds Or does a hit != a message match..?

—Jack


tony at Nov 29, 2004, 10:41pm EST

Look in lupy/search/hits.py and you should see a maxDocs (set to 200). You will also see a getMoreDocs method. You can use that to add more documents ot the hits object. That is, in search.py, you can use hits.getMoreDocs(100) to add 100 more documents to the hits object.