Всем привет!
Делаю небольшой сервис по поиску книг. Имеется объемная (600 000 строк) база данных, примерно такая:
Сейчас поиск ведется исключительно по полю Title таблицы Books. Поисковый запросы выглядит вот так:
"SELECT * FROM `Books` WHERE `Title` LIKE '%война%' AND `Title` LIKE '%мир%' DESC LIMIT 15
То есть если задать поиск по фразе "толстой война мир" результата не будет. Если же поиск выполнять по словам с условием OR то из базы дынных найдется все кроме того что нужно.
Я хочу добавить в таблицу Books еще один столбец AuthorTitle в котором будет запись вида "толстой война мир". Написал для этого скрипт на node.js, но столкнулся с тем что все это обрабатывается достаточно медленно. И на проход по всей базе данных может уйти несколько суток. Возможно, существуют какие-то инструменты для подобных задач?
Как вообще правильнее всего реализовывать подобный поиск? Может лучше не добавлять столбец AuthorTitle, а делать поиск по таблице Authors и среди книг конкретного автора искать уже с условием OR?
Буду рад любым советам, мнениям и рекомендация. Спасибо :)