Заказ закрыт
Программист php.

Бюджет: 25 000 ₽
294.44 $ – 258.04 €
Оптимизировать поисковый движек php
Необходиом оптимизировать самописный словесный поисковый движек для повышения скорости поиска с отображением результатов поиска первой страницы. сейчас поиск отрабатывает (а точнее функция выгрузки данных) более 60 секунд иногда и 180секунд. 
Цель: поиск отрабатывает менее чем за 15 секунд. 
Сам поиск отрабатывает быстро (1-5 сек), результаты поиска записываются в таблицу№1 sdb_data.search_res clip2net.com/s/3MRpXb3 
Затем, по id (которые попали в результат поиска) из таблицы №1 выполняется Select в котором содержится условие фильтра выбора данных, 
затем выбранные данные сортируются по заданному алгоритму 
затем отображается первая страница результатов поиска в которой 30 документов. 
В поиск попадает обычно 1000 – 3000 документов. 
Объем выгружаемых данных 30-80мбайт 
Нша БД более 100Гбайт 
Проблемы уже обнаруженные: 
1. Нужен индексатор по полю х511_01 – х511_45. сейчас в этом поле слова и фразы через запятую. Слова и фразы из справочника МКТУ. Можно сделать индекс и сократить объем записи данного поля. 
2. Селект со сложным фильтром отрабатывает по всем найденым документам (1000-3000), соответственно объем массива переменной в мегабайтах. МОжно сначала выполнять запрос на сравнение записей условям фильтра и записывать результат в таблице№1 (добавить поле filtr), затем выполнить сортировку и записать результаты в таблицу №1 в поле sort 
3. выгрузку из БД делать не всех сразу документов а по странино, следующие двве или три выполянть в фоне. 
4. Исходный файл (соновной) содержит в себе кучу других функций. Желательно разделить все на логические части. 
5. часть кода создана с фрэймворком Кодигнайтер. Желательно сделать все самописное. 

Коллеги! без предоплат. смотрите ТЗ и примите решение, да-сможете (Назовите сроки.) или нет-не сможете. 

Задавайте вопросы. 
Эдуард/ скайп: iaip-edwaks
Опубликован 13.08.2017 в 13:07
Заказ находится в архиве

Выберите способ верификации:

Обновите страницу после прохождения верификации.