Мой сайт хранит несколько миллионов объектов. Посетители ищут объекты, введя слова, содержащиеся только в заголовках. Заголовки длиной не более 100 символов.
Это не случай классического поиска документов, где пользователи ищут внутри больших капель. Поля очень короткие. Кроме того, главная проблема здесь - производительность (и не релевантность), поскольку объекты предоставляются "по мере ввода" (автоматически предлагается).
Каким будет более разумный маршрут?
Кроме того, как это повлияет на меня, если я захочу ввести предложения о правописании в будущем.
Спасибо!
Pro для решения только для базы данных:
Pro решения Solr:
Вы также можете рассмотреть будущие требования (что, если ваши документы имеют больше, чем просто поле заголовка, и вы хотите присвоить какую-то релевантность? Что, если вы решите разрешить людям искать основной текст этих объектов и/или вы хотите индексировать другие типы документов, такие как MS Word? Что делать, если вы хотите получить результаты фасетного поиска? Solr хорош во всех этих случаях.
Я не уверен, что вам нужно будет создать запись для каждого слова в вашей базе данных, а просто "% [query_word]%", если вы собираетесь создавать записи с каждым словом в любом случае. Может быть проще просто перейти с базой данных для начинающих, так как требования кажутся довольно простыми. Должно быть достаточно просто масштабировать производительность базы данных.
Я могу сказать, что мы используем Solr на сайте, и нам нравится производительность, и мы используем его даже для очень простых поисков. Однако одна вещь, которую нам не хватает, - это способ комбинирования данных Solr с данными базы данных. И есть дополнительное обслуживание. В конце дня нелегко ответить.