Как лучше всего создать обратный индекс для полнотекстового поиска в Common Lisp? Есть ли какая-нибудь проверенная и (относительно) свободная от ошибок открытая библиотека для SBCL или LispWorks?
Мне удалось создать свою собственную библиотеку поверх AllegroCache - ее было довольно легко создать, она была надежной и быстрой, но в ней отсутствовали расширенные возможности поиска (фразы, символы с подстановочными знаками во фразах и т. д.).
Есть ли какая-нибудь открытая библиотека, которую можно использовать с SBCL или LispWorks, чтобы мне не пришлось изобретать велосипед, написав свою собственную?





Я знаю, что вы спрашиваете о Common Lisp, но существует ряд приложений, ориентированных на службы инвертированного текстового поиска. Один из них хорошо известен и уважаем - Lucene.
Может ли решение использовать эту поисковую систему, но взаимодействовать с вашим кодом Common Lisp через API веб-службы? (xml-rpc, xml через http или просто текст через http)?
Есть ли еще одна причина, по которой вы хотели бы, чтобы это было в Common Lisp? Такие пакеты, как Lucene, могут охватывать все функции, связанные с поиском, которые вам нужны, в то время как использование удаленного API может по-прежнему позволять вам выполнять более сложную логику в Common Lisp.
Монтесума - это то же самое, что и lucene, но написано на лиспе.
Я не думаю, что кто-то использует это активно, или что это сильно протестировано ... но это хорошее начало, если вы хотите поработать над самой вещью. в нем уже есть наиболее часто используемые функции. прочтите архив google-group, чтобы прочувствовать ...
Я активно использую Монтесуму и знаю двух других людей, использующих ее в своих проектах. У него также довольно большой набор тестов.