Разместите свой проект бесплатно и начните получать предложения от фрилансеров-исполнителей уже спустя минуты после публикации!
10 000 ₽

Поиск по сайту (sphinx / solr / elasticsearch / etc.)

истекло время актуальности



  1.  5 дней 6 000 ₴
    570    2  0

    Готов выполнить ваш проект с использованием поискового движка Sphinx, есть большой опыт работы по настройке веб серверов а так же в программировании на PHP и баз данных MySQL.

  • 10 гб БД. Думаю, и нативными mysql запросами можно справиться.
    То все, что вы написали больше для кластеризации используется.
    Скорее всего, оно тупить будет еще больше, разве, что у вас не кластер с >= 3нодами.

  • Антон K — заказчик проекта
    2 июля в 21:43 |

    Mysql справляется за 350-700 мс, а нужно 50-100 мс максимум.

  • Значит так запросы написаны. И/или архитектура кривая. Само железо тормознутое.
    Писал запросы к 20+ ГБ БД текдока, самые дикие - до 200 при пользовательском поиске.
    В общем, нужно смотреть БД и запросы.

    Самый крайний вариант - это создание неск. пром. табл. и новые запросы на основе их.

  • Антон K — заказчик проекта
    2 июля в 21:53 |

    Нет, БД нормально спроектирована. Тормозят запросы, которые используют fulltext индексы с выборкой вида LIKE('ключ%') AND city = 'moscow' AND deleted IS NULL AND .... MySQL не может комбинировать эти индексы в запросе и использует только один, и затем делает выборку уже с помощью filesort или where, т.е. медленно. Поэтому нужно специализированное ПО для решения задач поиска.

  • Не нужно.
    Просто разделить один запрос на несколько с созданием временных таблиц - "кэширование на лету" (мультизапрос [в этом случае временные табл создаются в ОЗУ], последовательно не прокатит).
    Еще, можно доп. столбики добавить, разбить text на несколько varchar и искать в них по определенному алгоритму.

    Доп ПО загрузит.