У меня есть база данных около 200 тыс. Книг.Я хочу, чтобы мои пользователи могли быстро найти книгу по названию.Теперь некоторые заголовки могут иметь префикс, например, A, THE и т. Д., А также могут иметь номера в заголовке, поэтому поиск 12 должен соответствовать книгам с «12», «двенадцать» и «дюжина» в заголовке.Это будет работать через AJAX, поэтому мне нужно убедиться, что запрос к базе данных действительно быстрый.
Я предполагаю, что большинство пользователей будут пытаться искать, используя некоторые слова из названия, поэтому я думаю разделить всеназвания в слова и создать отдельную таблицу базы данных, которая будет отображать слова в названия.Тем не менее, я боюсь, что это может не дать лучших результатов.Например, название книги может состоять из 2 или 3 часто используемых слов, и я могу получить список книг с более длинными названиями, которые содержат все 2-3 слова, и ту, которую я ищу, потерянную, как иголка в стоге сена.Кроме того, поиск книги с большим количеством слов в заголовке может замедлить запрос из-за большого количества предложений OR.
В основном я ищу способ:
- быстро находите результаты
- сортируйте их по релевантности.
Я полагаю, что это не первый раз, когда кому-то нужно что-то подобное, и я бы не хотел изобретать велосипед.
PS В настоящее время я использую MySQL, но при необходимости могу переключиться на что угодно.