Shhh
Новичок
Помогите с запросом (алгоритмом)
Есть база, нужно для нее сделать поиск. Должен он работать хорошо
приблизительно с таким алгоритмом:
Пусть введено для поиска 4 слова: "абвг" "дежз" "иклм" "нопр"
Тогда при выводе результатов сначала должны быть выведены те записи в каких найдено эту фразу, потом те поля в каких есть каждое из этих слов. Дальше. Конечно, я к сайту не добавлю словарь, но при поиске слова "хороший", должно найтись "хорошо", поэтому следующими будут выдаваться записи в каких найдено все слова но обрубаные, т.е. "абв" "деж" "икл" "ноп", и в конце те записи в каких есть только одно из искомых слов, а потом любое из обрубаных. Причем эти записи не должны повторяться, ведь каждому последующему условию удовлетворяют все предыдущие.
Вот и не могу придумать как это все с минимальными ресурсами сервера сделать. Если бы это можно было вывести в один поток, то просто делаю все эти запросы и вывожу по очереди, но вывести надо постанично... т.е. я себе думаю сделать все эти запросы, потом загнать в масив результат и уже в соотв. с номером страницы выбирать необходимое к-во начиная с какого-то номера. Но можно ли то все сделать попроще? А может это можно вообще как-то одним запросом? А может алгоритм поиска можно сделать по-другому, но с таким же окончательным результатом?
Есть база, нужно для нее сделать поиск. Должен он работать хорошо

Пусть введено для поиска 4 слова: "абвг" "дежз" "иклм" "нопр"
Тогда при выводе результатов сначала должны быть выведены те записи в каких найдено эту фразу, потом те поля в каких есть каждое из этих слов. Дальше. Конечно, я к сайту не добавлю словарь, но при поиске слова "хороший", должно найтись "хорошо", поэтому следующими будут выдаваться записи в каких найдено все слова но обрубаные, т.е. "абв" "деж" "икл" "ноп", и в конце те записи в каких есть только одно из искомых слов, а потом любое из обрубаных. Причем эти записи не должны повторяться, ведь каждому последующему условию удовлетворяют все предыдущие.
Вот и не могу придумать как это все с минимальными ресурсами сервера сделать. Если бы это можно было вывести в один поток, то просто делаю все эти запросы и вывожу по очереди, но вывести надо постанично... т.е. я себе думаю сделать все эти запросы, потом загнать в масив результат и уже в соотв. с номером страницы выбирать необходимое к-во начиная с какого-то номера. Но можно ли то все сделать попроще? А может это можно вообще как-то одним запросом? А может алгоритм поиска можно сделать по-другому, но с таким же окончательным результатом?