Возникла необходимость реализовать поиск по базе документов размером от 100 до 150 гигабайт. Среди документов встречаются форматы: текст, HTML, PDF, OpenOffice, OpenDocument, Microsoft Word/Excel, RTF.
Поиск будут осуществлять около 300 человек постоянно подключенных к базе, люди находятся в разных городах России.
Тексты на русском языке.
Что посоветуете?
1. Какие системы для реализации такого поиска существуют?
2. Возможно ли проиндексировать такой объём информации?
3. Долго ли будет осуществляться поиск по такой базе данных?
4. Какой мощности сервер необходимо выделить для решения такой задачи?
5. Где лучше хранить индексы?
6. Возможно ли получить доступ к поисковому движку через PHP?
7. Сроки реализации задачи?
Вместо Solr советую использовать ElasticSearch. Оба они пострены на Lucene, но в эластике намного лучше обстоят дела со скоростью добавления, изменения документов в индексе + шардинг из коробки. Работал с обоими системами, даже субъективно у эластика более user-friendly язык запросов
есть, через систему плагинов
но он пока, местами, не очень стабильный… у меня, например, часто не вносятся документы в индекс по причине глюков плагина русской морфологии
Работал на нем с базой товаров (естественно смешеный русский и английский языки), кроме полнотекстового поиска еще использовался как быстрая временная база данных для фронта. Никаких проблем с базой товаров (с огромным количеством предложений в каждом, хранящимся в виде вложенного массива + атрибуты) размером около 3 с половиной милионов записей не наблюдалось. Морфологический поиск работал так же стабильно.