Stamp_Guy has asked for the wisdom of the Perl Monks concerning the following question:

Could someone point me to some well designed perl search engines so I can look at their code?

Replies are listed 'Best First'.
Re: Good examples of code
by bikeNomad (Priest) on Jun 12, 2001 at 19:23 UTC
    Though I have no connection with them, I spent a little time optimizing Perlfect Search. It seems to do its job pretty well (or did, in the version I was playing with). As far as design, well... it seems to be OK if a bit naive about various Perl idioms.
Re: Good examples of code
by extremely (Priest) on Jun 13, 2001 at 06:04 UTC
    Head off to merlyn's page and look at his Web Techniques Columns! You might also define what you mean by "search engine" a bit more. Do you mean web spider, word frequency stuff, file find, etc...

    --
    $you = new YOU;
    honk() if $you->love(perl)

Re: Good examples of code
by Dross (Acolyte) on Jun 12, 2001 at 21:03 UTC

    I have no affiliation with these people, but KSearch from KScripts is what I have provided my corporate clients. It creates a database for the whole site, and searches that, so it is really fast. I don't like the way that the indexing script is all by its lonesome, and doesn't run well via a web browser (it times out,) but that's fixable.

    Check out http://kscripts.com/ksearch/

    # Dross, Professional Dullard

    Edit by tye

Re: Good examples of code
by Hero Zzyzzx (Curate) on Jun 12, 2001 at 23:15 UTC

    What about ht://DIG? This thing is quite amazing in terms of what it can do. I think it's written in C, though.

    Another is SWISH-E, in a similar vein as ht://DIG.

    WordIndex isn't as feature-rich as the above, but for code examples you might find it useful. It extracts text from pdf, .wpd, .doc, and other docs too.

    HTH

Re: Good examples of code
by mattr (Curate) on Jun 13, 2001 at 16:26 UTC
    What kind of searching do you want to do? This is a pretty broad topic. You probably don't need to use a system which is mainly C++ like htdig for something small. To start with what kind of data are you searching, what volume of data, and how many people are going to be searching?