C++ посоветуйте библиотеку для полнотекстового поиска
Можете посоветовать библиотеку для полнотекстового поиска на C++. Желательно, что бы она имела следующий функционал или его можно было бы добавить самостоятельно:
- Что бы можно было искать точную фразу(например: "точна фраза")
- Диакритические символы - что бы а и ā, например, считались одной буквой
- Учитывала похожие по звучанию буквы(Например яйцо и йайцо)
- Нужна поддержка разных операторов поиска:
- кавычки для поиска точной фразы.
- Операторы AND, OR, NOT, ?(для замены одного символа), *(для замены нескольких символов)
- Поиск в пределах N слов в строгом порядке (Например: "a b c"/4) или не в строгом(Например: "a b c"@4)
Стоит ли использовать CLucene, если его очень давно не обновляли? Или лучше сразу смотреть на другие актуальные проекты?
Ответы (1 шт):
Выбрал LucenePlusPlus. Для 2 и 3 пункта приходится индексировать данные несколько раз, удаляя из них диакритические символы и сохраняя их в разные поля(Сохранять в разные поля, что бы использовать эти функции опционально). Для 1 пункта пришлось вообще не использовать анализатор и так-же сохранять в отдельное поле. Также пришлось доработать стандартный парсер запросов для использования этого поля.