in reply to All-Perl search engine having speed issues

Take a look at Search::InvertedIndex. You could also try some of the C engines with Perl interfaces, like Swish, htdig, or glimpse.
  • Comment on Re: All-Perl search engine having speed issues

Replies are listed 'Best First'.
Re: Re: All-Perl search engine having speed issues
by Anonymous Monk on Nov 19, 2001 at 22:54 UTC
    could you explain briefly what an inverted index is, and maybe how i would implement one? i am very interested.
      perrin kindly provided a link, and the best thing to do would be to get the module and read the docs. You're trying to index a flat-file database, and its just not scaling well. Search::InvertedIndex uses either MySQL or DB_File on the backend, and if you don't want to use MySQL, you should get DB_File. An 'inverted index' search just happens to be exactly what you're doing. Your main database is indexed by some id value, and its easy to look things up by the index, but you don't want to look things up by that id value, you want to look up those id values by some keywords. That's what Search::InvertedIndex does, and since the work has been done for you, you're advised to take advantage of it (and you can always look at the code if you're curious as to how its implemented).