If the archive for your mailing list is world-readable, then
the easiest way to do this is to just use an existing search
engine (such as google) to do the work for you.
Here is an example of how you
can do this using IU's search
engine.
If you have a mailman list named foobar, then the top level url to
access the list is:
http://mailman.cs.indiana.edu/mailman/listinfo/foobar
You can edit this page from the admin interface for the list at:
http://mailman.cs.indiana.edu/mailman/admin/foobar
by just selecting 'Edit the HTML for the public list pages'
and then 'General list information page'. You will have to
manually edit this html code to insert the following code to add
a search box:
<form method="get" action="http://www.google.com/search">
<input type="text" name="q" size="30" maxlength="255" value="">
<input type="submit" value="Google Search">
<input type="hidden" name="sitesearch" value="mailman.cs.indiana.edu/pipermail/LISTNAME">
</form>
where you just need to replace LISTNAME with the name of your list.
When you are done editing the html, just click on the Submit Changes button to submit your changes.
Once you have done this, you should be able to go to the list information page at:
http://mailman.cs.indiana.edu/mailman/listinfo/LISTNAME
and have the search option. Please note, however, that there
is sure to be some lag between when a message is posted and when
it shows up on the external search engine. This lag could easily
be several days or more.