Как создать обратный индекс для полнотекстового поиска в Common Lisp? - PullRequest
6 голосов
/ 24 сентября 2008

Каков наилучший способ создания обратного индекса для полнотекстового поиска в Common Lisp? Есть ли проверенная и (относительно) безошибочная открытая библиотека для SBCL или LispWorks?

Мне удалось создать собственную библиотеку поверх AllegroCache - ее было довольно легко создать, она была надежной и быстрой, но в ней отсутствовали расширенные параметры поиска (фразы, подстановочные знаки в фразах и т. Д.).

Существует ли какая-либо открытая библиотека, которую можно использовать с SBCL или LispWorks, поэтому мне не нужно заново изобретать колесо, написав свою собственную?

Ответы [ 2 ]

9 голосов
/ 24 сентября 2008

монтезума - это то же самое, что и люцен, но написано на лисп.

Я не думаю, что кто-то использует это активно, и что это сильно протестировано ... но это хорошее начало, если вы хотите поработать над самой вещью. у него уже есть наиболее используемые функции. Прочитайте архив Google-группы, чтобы почувствовать ...

1 голос
/ 24 сентября 2008

Я знаю, что вы спрашиваете об Common Lisp, но есть ряд приложений, ориентированных на службу поиска с инвертированным текстом. Один из известных и уважаемых - это Lucene .

Может ли быть решение использовать эту поисковую систему, но связать ваш код Common Lisp с помощью API веб-службы? (xml-rpc, xml через http или просто текст поверх http)?

Есть ли еще одна причина, по которой вы хотели бы, чтобы она была в Common Lisp? Такие пакеты, как Lucene, могут охватывать все функции, связанные с поиском, в то время как использование удаленного API может по-прежнему позволять вам выполнять более сложную логику в Common Lisp.

...