Разработка системы поиска на ZendFramework

Слон17 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
19.10.2007

Тендер на разработку системы поиска на ZendFramework.

Предлагайте сразу стоимость и сроки.

Система поиска и агрегирования тематического материала:

Требования к системе:

1. Система должна обеспечивать непосредственно поиск по всем ресурсам сайта.

2. В Системе должна быть предусмотрена возможность поиска в тематических разделах сайта отдельно от основного поиска.

3. Должна быть возможность публикации блока тематических ссылок для материалов (новости, публикации и т.д.). (в задачу Поиска входит анализ и подбор материалов, наиболее близких по релевантности для каждой публикации)

4. Теги - тематические слова-синонимы для заданных групп.

Предлагаемый алгоритм формирования данных поиска:

Во время публикации материала происходит переиндексация индексной базы поиска, при этом производится выделение и запись базы слов для данного материала, которые будут использоваться для подбора тематического материала. Одновременно добавляется материал в базу поиска конкретного раздела. Одновременно с этим мы обращаемся к базе данных к таблице тегов и выбираем список подходящих к поиску тегов выводим данный список всплывающим окном редактору, в данном окне располагается список предложенных подходящих тегов, строка ввода новых тегов а также список найденных в тексте существительных присутствующих в необходимой плотности, редактор может добавить из найденных слов/добавить новые/удалить/ недостающие по смыслу теги и сохранить результат в базу тегов и в индексный файл. Кроме того теги будут использованы в качестве метатега keywords.

Структура таблиц для хранения тегов:

CREATE TABLE `tags_tags`

(

`id` int (10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Уникальный идентификатор',

`tag` varchar (20) DEFAULT NULL COMMENT 'Значение тега',

`type` int (10) UNSIGNED DEFAULT NULL COMMENT 'Тип ресурса',

`descr` varchar (255) DEFAULT NULL COMMENT 'Описание (не обязательный)',

`url` varchar (100) DEFAULT NULL COMMENT 'ссылка (не обязательный)',

`alias_id` int (10) UNSIGNED DEFAULT '0' COMMENT 'Идентификатор алиаса',

`count_terms` int (10) UNSIGNED DEFAULT '0' COMMENT 'Количество данных слов',

PRIMARY KEY (`id`)

)

ENGINE=MYISAM

DEFAULT charSET=cp1251 COMMENT 'Таблица массив тегов';

CREATE TABLE `types` (

`id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Уникальный идентификатор типа ресурса',

`name` varchar(20) DEFAULT NULL COMMENT 'наименование',

`descr` varchar(200) DEFAULT NULL COMMENT 'Описание',

PRIMARY KEY (`id`)

) ENGINE=MYISAM DEFAULT charSET=cp1251 COMMENT='таблицу-справочник типов материалов(ресурсов)';

Также должен быть предусмотрен механизм обновления индексной базы.

Обязательное требование: документация.

Для поиска предлагаю использовать Zend_Search_Lucene.