Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Здравствуйте!

Сейчас имеем в файле поиска (сокращенный вариант):

$q=$_GET['q'];

$q = preg_replace ("/[^a-zA-ZА-Яа-я0-9\s]/","",$q);

echo ("

");

if ($q != '') {$q = ereg_replace(" ","*.",$q); $lq="and (profecy REGEXP '$q' or treb REGEXP '$q' or obyaz REGEXP '$q' or uslov REGEXP '$q')";}

if (!isset($ord) or $ord == "") {$qweryord='date DESC';}

$result = @mysql_query("SELECT *,DATE_FORMAT(date,'%d.%m.%Y') as dateq FROM $vactable WHERE status='ok' $lq $lsrrazdel $lsrpodrazdel ORDER BY top DESC,$qweryord LIMIT $initialMsg, $maxThread");

while ($myrow=@mysql_fetch_array($result))

{

$ID=$myrow["ID"];

$profecy=$myrow["profecy"];

$treb=$myrow["treb"];

}

Необходимо чтобы выполнялись задачи:

1. Поиск без учета порядка слов в запросе. И необязательно, чтобы все были в документе.

2. Поиск по части слова. Если ищут "бухгалтер", то выводить: бухгалтер, бухгалтером, бухгалтеру и тд.

3. У слов более n символов обрезать последний символ при поиске в базе. Например, пишут "на вахту" - обрезаем "у"  и  находим слова: вахта, вахтой и тд. Вахтер тоже попадет, не без этого. Минимальную длину слов у которых удаляется последний символ надо задать в начале файла для поиска наиболее подходящего значения.

4. Добавить сортировку результата по релевантности (по кол-ву вхождений слов). Что-типа этого: http://conture.by/post/96

5. Выделить стронгом слова из запроса в результатах поиска (не сокращенный вариант без последнего символа, конечно).

6. Не искать по предлогам и союзам (по, на, и, в, от, до и тд).

7. Под поле для ввода поисковой фразы добавить пару примеров поиска при клике на который он переходит в строку поиска (как на главной Яндекса). Пусть это будут просто словосочетания "первый поиск", "второй поиск".

8 лет назад
mchuk
49 летГрузия
16 лет в сервисе
Был
год назад