Авторизация:
ПРОЕКТЫ ДАННОЙ КАТЕГОРИИ


Все проекты данной категории  -  75


TOP 10 ФРИЛАНСЕРОВ

Скрипты / Web-приложения

1artzavod
(29.7)
2bw
(27.0)
3softfacade
(22.5)
4Pilat66
(22.0)
5AlexWeb
(16.2)
6parse
(14.9)
7EdWood
(13.1)
8EgorovAlexey
(13.0)
9ArtLab
(12.9)
10alexmedv
(12.5)

Скрипт поиска на PHP

Скрипты / Web-приложения
Заказчик:
Фотография / Юзерпик
ОффлайнОчерет Евгений (eugene)
(4.9)
В сервисе: 5 лет  |  Отзывы: 11
Бюджет: Не определен
Приём предложений: 31.10.2007 - 02.11.2007
Статистика: Предложения: 8  |  Просмотры: 156 (92 пользователя)
Статус: Закрыт
Нужен скрипт поиска на PHP для софтового портала.
Скрипт будет производить поиск программ по базе mysql.
Алгоритм работы скрипта:
word – поисковое слово или фраза.
Поиск производится в кратком описании программ desc_small, полном описании description и в названии name.
Скрипт должен поддерживать 2 языка – русский и английский.
Язык сайта – это переменная $LANG_NOW – ru или en.
А также есть переменная $V_PREF для переменных, ее значение:
$V_PREF = ($LANG_NOW=="en") ? "_en" : "";
Т.е. так пишутся переменные: $row[‘name’.$V_PREF], $row[‘version’.$V_PREF] и т.п.
Еще в базе есть поле my_lang:
0 - программа имеет только русское описание;
1 - только английское;
2 - и русское и английские.
Т.е. при поиске на русском языке ищем только среди программ где: my_lang!=1, а на английском my_lang>0.
Строку поиска нужно проверять: длина от 2 до 64 символов.
А также очищать от ненужных символов.
Еще при поиске нужно исключать некоторые слова, например: номера версий и слова: alpha, beta, free, pro, lite и т.п (лучше чтобы эти слова задавались в виде массива в конфиге и я мог добавлять новые слова).

Настройки поиска:
1) Поиск каждого слова из фразы, поиск фразы целиком.
2) Поиск в названии, поиск в описании, везде.
При поиске каждого слова фразы – искать не более 5 слов.

Результаты поиска (названия программ с найденными фразами) выводить в виде анонса в начале страницы, если спец. флажок ($SHOW_ANOUNCE2) включен.
А также результаты поиска (названия с версиями программ) записывать (через пробел) в переменные:
$keywords (без версий) и $descript (с версиями).

Результаты поиска выводятся в следующем порядке:

1) Результаты с word в начале названия.
2) Результаты с word в середине и конце названия.
3) Результаты с word в описании.

Если word найдено в названии – выводим название и краткое описание программы без подсветки.
Если word найдено в кратком описании – выводим название и краткое описание, а word подсвечиваем красным жирным шрифтом.
Если word найдено в полном описании – выводим название и куски полного описания программы в следующем формате:
Текст…word…текст…word…текст…
Т.е. выводим найденные слова, слева и справа от которых выводится по несколько слов из полного описания (кажется такое делается через preg_match).
Длина участков текста между словами word задается в конфиге.
Поиск производится по релевантности – т.е. сначала выдаются самые подходящие результаты, а потом близкие к ним.

Скрипт поиска уже есть, если хотите, то можете переписывать из него.
Но этот скрипт написан очень нерационально и половины описанных функций в нем не нет.
Прошу уделить особое внимаение производительности, т.к. этот скрипт является самым посещаемым и используется на 5 порталах.
Для работы выдам: мой скрипт поиска (поможет ознакомиться с общими принципами ораганизации сайта), структуру таблицы, в которой будет призводиться поиск.

Слушаю ваши предложения по срокам и ценам.

Выбранные исполнители

Пользователь / Рейтинг Сумма Сроки Дата принятия
Фотография / Юзерпик
ОффлайнСергей (skazkansk)
(0.5)
В сервисе: 1 год  |  Отзывы: 13
100 USD - 02.11.2007 в 12:43
Отзыв заказчика (+)