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

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

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

Есть ли какая-нибудь открытая библиотека, которую можно использовать с SBCL или LispWorks, чтобы мне не пришлось изобретать велосипед, написав свою собственную?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
6
0
1 350
2

Ответы 2

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

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

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

Монтесума - это то же самое, что и lucene, но написано на лиспе.

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

Я активно использую Монтесуму и знаю двух других людей, использующих ее в своих проектах. У него также довольно большой набор тестов.

Leslie P. Polzer 17.02.2009 12:11

Другие вопросы по теме