2008-09-24 10 views
6

Quelle est la meilleure façon de créer un index inversé pour la recherche en texte intégral dans Common Lisp? Existe-t-il une bibliothèque ouverte éprouvée et (relativement) sans bug pour SBCL ou LispWorks?Comment créer un index inversé pour la recherche en texte intégral dans Common Lisp?

J'ai réussi à créer ma propre bibliothèque en plus de AllegroCache - c'était assez facile à créer, fiable et rapide, mais il manque des options de recherche avancées (phrases, mots génériques dans les phrases, etc.).

Y a-t-il une bibliothèque ouverte pouvant être utilisée avec SBCL ou LispWorks pour ne pas avoir à réinventer la roue en écrivant la mienne?

Répondre

1

Je sais que vous posez des questions sur Common Lisp, mais il existe un certain nombre d'applications orientées vers le service de recherche de texte inversé. Un bien connu et respecté est Lucene.

Une solution pourrait-elle être d'utiliser ce moteur de recherche, mais d'interfacer votre code Common Lisp via une API de service Web? (xml-rpc, xml sur http ou simplement texte sur http)?

Y a-t-il une autre raison pour laquelle vous aimeriez qu'il soit en Common Lisp? Des paquets comme Lucene peuvent couvrir toutes les fonctionnalités liées à la recherche dont vous avez besoin, tandis que l'utilisation d'une API distante peut tout de même vous permettre d'exécuter votre logique plus complexe dans Common Lisp.

9

montezuma est la même chose que Lucene, mais écrit en Lisp.

Je ne pense pas que quiconque l'utilise activement, ni qu'il soit lourdement testé ... mais c'est un bon début si vous voulez travailler sur la chose elle-même. il a déjà les fonctionnalités les plus utilisées. lisez les archives de google-group pour avoir une idée ...

+4

J'utilise Montezuma activement et je connais deux autres personnes qui l'utilisent dans leurs projets. Il y a aussi une assez grande suite de tests. – skypher

Questions connexes