У нас есть веб-приложение, которое позволяет пользователям загружать документы, создавать свои собственные документы и так далее. Загруженные файлы хранятся на Amazon S3, созданная информация хранится в базе данных MySQL. То, что я ищу, - это своего рода поисковая система, где я передаю все наши текстовые документы, каждый с уникальным идентификатором, и создает индекс или что-то еще. Позже я могу дать ему поисковые запросы, и он извлечет наиболее подходящие документы (по их идентификатору) вместе с фрагментами соответствующего текста.
По сути, мы хотим, чтобы наши пользователи могли выполнять поиск в своем хранилище загруженных материалов, а также всего, что другие пользователи отметили как общедоступные. Решение должно работать на стандартном сервере Linux, и в идеале оно должно быть с открытым исходным кодом, но я также рассмотрю платные решения, если они не слишком дорогие.
Пока что я нашел трех потенциальных кандидатов:
- Полнотекстовый поиск MySQL - некоторые отчеты, которые я читал, очень медленные
- Apache Lucene - к сожалению, написано на Java, но я буду использовать его, если потребуется. Предположительно быстро
- Sphinx - не кажется таким популярным, в идеале любое решение, которое я найду, получит большую поддержку сообщества.
Пожалуйста, дайте мне знать, если есть какие-либо другие хорошие варианты, которые я упустил, или если у вас есть опыт с любым из вышеперечисленных.