Возникла идея в создании и реализации поисковой системы на основе
AJAX облака с контекстнозависимым рейтингом тегов. Возможное применение – доска объявлений с удобным поиском,
стимулирующее к вводу информативных сообщений.
Был создан прототип системы.
Созданный прототип реализует описанное поведение, но возникли проблемы,
которые не позволяют запустить проект в эксплуатацию.
Ниже дополнительная информация и ссылка на реализацию прототипа.
UPD Цель публикации — попытка сдвинуть остановившийся проект с мёртвой точки.
Возможно некоторые решения пригодятся читателям.
Клиентская сторона написана на Javascript, без использования сторонних библиотек,
что позволило добиться минимального размера (<8KB) и высокой скорости работы.
Основная проблема – производительность запросов к серверу.
На данный момент в базе около 500 тегов и уже наблюдается низкая скорость выполнения.
Самые медленные – определение рейтинга тегов в облаке для текущего запроса.
В запросе приходится для введенных тегов искать все посты, содержащие их,
из них отбирать оставшиеся теги и сортировать их по вхождению в текущем запросе.
Кэширование скорее всего применить не удастся – слишком много уникальных запросов.
Дополнительная проблема – оценка релевантности тегов.
На данный момент система не учитывает смысловую нагрузку тегов и их порядок в посте.
Это приводит к тому, что наиболее рейтинговыми получаются теги, не несущие смысла (союзы, предлоги).
Хотя усложнение алгоритма определение рейтинга приведёт к ещё большему падению производительности.
Исходный код — code.google.com/p/mytagdb/downloads/list
Онлайн прототип — www.ajax.idhost.kz/tag
В комментариях хотелось бы обсудить пути повышения производительности и улучшения релевантности выдачи.
AJAX облака с контекстнозависимым рейтингом тегов. Возможное применение – доска объявлений с удобным поиском,
стимулирующее к вводу информативных сообщений.
Был создан прототип системы.
Особенности системы:
- Поиск по набору тегов – система ищет данные, в которых имеются все указанные теги, что
позволяет уточнять запрос. - Динамичное облако тегов – работает в режиме подсказки завершения слов при редактировании запроса,
а так же в режиме подсказки тегов, которыми можно уточнить запрос при завершении ввода очередного слова. - Эмуляция локальной базы – при вводе запроса производится поиск в локальном массиве. Параллельно идёт запрос к серверу.
Ответ от сервера расширяет локальный массив и результат поиска. - Графическая оценка релевантности
Созданный прототип реализует описанное поведение, но возникли проблемы,
которые не позволяют запустить проект в эксплуатацию.
Ниже дополнительная информация и ссылка на реализацию прототипа.
UPD Цель публикации — попытка сдвинуть остановившийся проект с мёртвой точки.
Возможно некоторые решения пригодятся читателям.
Клиентская сторона написана на Javascript, без использования сторонних библиотек,
что позволило добиться минимального размера (<8KB) и высокой скорости работы.
Основная проблема – производительность запросов к серверу.
На данный момент в базе около 500 тегов и уже наблюдается низкая скорость выполнения.
Самые медленные – определение рейтинга тегов в облаке для текущего запроса.
В запросе приходится для введенных тегов искать все посты, содержащие их,
из них отбирать оставшиеся теги и сортировать их по вхождению в текущем запросе.
Кэширование скорее всего применить не удастся – слишком много уникальных запросов.
Дополнительная проблема – оценка релевантности тегов.
На данный момент система не учитывает смысловую нагрузку тегов и их порядок в посте.
Это приводит к тому, что наиболее рейтинговыми получаются теги, не несущие смысла (союзы, предлоги).
Хотя усложнение алгоритма определение рейтинга приведёт к ещё большему падению производительности.
Исходный код — code.google.com/p/mytagdb/downloads/list
Онлайн прототип — www.ajax.idhost.kz/tag
В комментариях хотелось бы обсудить пути повышения производительности и улучшения релевантности выдачи.