у нас есть приложение eMall, основанное в основном на главной таблице MySQL ~ 500 тыс. строк (с подробными таблицами, в которых хранятся поля, недоступные для поиска, и другие связанные таблицы с информацией о магазине и т. д.).
Сегодня пользователи могут выполнять поиск на основе конкретных структурированных данных о продуктах (например, бренда, категории, цены, конкретного магазина и т. Д.).
Мы также хотели бы поддерживать поиск по ключевым словам в сочетании со структурированными данными.
Мы также хотим повысить производительность нашего приложения и рассматриваем варианты нашей инфраструктуры для удовлетворения как функциональных требований поиска по ключевым словам, так и технических требований повышения скорости:
Lucene, Sphinx и т. Д. Для индексации всех продуктов? База данных NoSQL (mongo, couch и т. Д.), Используемая в качестве промежуточного уровня кеширования перед MySQL? База данных NOSQL для замены MySQL?
Комбинация вышеперечисленного?
В случае Lucene и Sphinx - насколько они гибки с точки зрения комбинирования структурированных критериев? Или нам нужно сначала запустить текстовый поиск, а затем отфильтровать результаты вторым структурированным запросом на mySQL?
Любые намеки или уловки, извлеченные из вашего собственного опыта, будут более чем приветствоваться!
заранее спасибо