views:

558

answers:

2

What is the best way to create reverse index for full text search in Common Lisp ? Is there any proven and (relatively) bug-free open library for SBCL or LispWorks ?

I managed to create my own library on top of AllegroCache - it was fairly easy to create, reliable and fast, but lacks advanced search options (phrases, wildcarded words in phrases, etc).

Is there any open library that can be used with SBCL or LispWorks so I don't have to reinvent the wheel by writing my own ?

A: 

I know you're asking about Common Lisp, but there are a number of inverted text search service oriented applications. One well known and respected on is Lucene.

Could a solution be to use that search engine, but interface your Common Lisp code via a web-service API? (xml-rpc, xml over http or just text over http)?

Is there a further reason why you'd like it to be in Common Lisp? Packages like Lucene may cover all the search related features you need, while using a remote api may still allow you to perform your more complex logic in Common Lisp.

Kyle Burton
+7  A: 

montezuma is the same thing as lucene, but written in lisp.

i don't think anyone uses this actively, nor that it's heavily tested... but it's a good start if you want to work on the thing itself. it already has the most used features. read the google-group archive to get a feel...

Attila Lendvai
I do use Montezuma actively and know two other people using it in their projects.It's got a pretty large test suite, too.
skypher