Comments 11
Обнаружил ошибки в коде. Чуть поправил.
Спасибо twix-у.
Спасибо twix-у.
Пока приостановил добавление — система стала превращаться в чат.
Основная суть всё же в поиске.
Ни смотря ни на что жду коментариев.
Основная суть всё же в поиске.
Ни смотря ни на что жду коментариев.
На данный момент система не учитывает смысловую нагрузку тегов и их порядок в посте.
Это приводит к тому, что наиболее рейтинговыми получаются теги, не несущие смысла (союзы, предлоги).
Хотя усложнение алгоритма определение рейтинга приведёт к ещё большему падению производительности.Я бы вам посоветовал вырезать малозначимые слова из запроса, подумать о морфологии слов (резко сократится кол-во похожих тегов), для учета порядка тегов в тексте можно использовать расстояние Левенштейна. Рейтинг тегов можно кэшировать на 5 минут к примеру, это позволит поднять производительность.
По кэшированию:
на данный момент рейтинг определяется контекстом текущего запроса т.е. набором уже введенных тегов.
Хранение пар (контекст, тэг)=>рейтинг займёт очень много места, по сравнению с самими тэгами.
Целесообразно ли?
По поводу морфологии и значения слов — существуют ли автоматические алгоритмы, или придётся заводить словарь малозначимых слов?
Хотелось бы добиться максимальной автоматизированности процесса.
на данный момент рейтинг определяется контекстом текущего запроса т.е. набором уже введенных тегов.
Хранение пар (контекст, тэг)=>рейтинг займёт очень много места, по сравнению с самими тэгами.
Целесообразно ли?
По поводу морфологии и значения слов — существуют ли автоматические алгоритмы, или придётся заводить словарь малозначимых слов?
Хотелось бы добиться максимальной автоматизированности процесса.
на данный момент рейтинг определяется контекстом текущего запроса т.е. набором уже введенных тегов.Код не смотрел, но в принципе можно кэшировать историю Х последних / популярных запросов, с рассчетами рейтинга, что позволит снизить нагрузку.
Хранение пар (контекст, тэг)=>рейтинг займёт очень много места, по сравнению с самими тэгами.
По поводу морфологии и значения слов — существуют ли автоматические алгоритмы, или придётся заводить словарь малозначимых слов?Есть готовые базы словоформ и библиотеки для обработки. Самообучающихся не видел, хотя и не искал.
Клиентская сторона написана на Javascript, без использования сторонних библиотек,С учетом того, что у вас там реализован аякс, анимация, манипуляции с классами и css стилями, вы всерьез считаете это плюсом?
Для меня первый вопрос, который возник, был: что это, библиотека, которую вы демонстрируете, или что-то еще. В статье у вас об этом прямо не сказано, но открыв исходники, все стало ясно: Перекрытие window.onload, захардкоденное dom-дерево, захардкоденные пути до скриптов. Т.е. это однозначно скрипт для решения вашей конкретной задачи, а никак не переиспользуемая библиотека. Т.е. вы написали статью о том, как сделали свою работа. Зачем?
Если основной целью топика было спросить совета по оптимизации, то топик мало помогает понять, где и что именно нужно оптимизировать.
Ну и сам текст оформлен ужасно, нелепые переносы строк в неподходящих местах, пробелы в списках стоят абы как, и это слово, «динамичное». Наверное, «динамическое»?
Изначально пытался самостоятельно завершить и выпустить проект (более полугода назад).
Но натолкнулся на вышеописанные проблемы и всё остановилось.
Цель публикации — попытка сдвинуть проект с мёртвой точки.
Изначально начал писать на Jquery ajax.idhost.kz/tag_v0/.
Но эта версия тормозила на моём старом компе. В итоге решил заоптимизировать
клиентскую сторону и написать на чистом JS. Сделал свой минифрейворк. IMHO вышло не намного сложнее.
Возможно, что-то из моего кода пригодится кому-то из читателей. Готов ответит на все вопросы.
По оформлению — буду исправляться. Надеюсь сильно не осудите.
Но натолкнулся на вышеописанные проблемы и всё остановилось.
Цель публикации — попытка сдвинуть проект с мёртвой точки.
Изначально начал писать на Jquery ajax.idhost.kz/tag_v0/.
Но эта версия тормозила на моём старом компе. В итоге решил заоптимизировать
клиентскую сторону и написать на чистом JS. Сделал свой минифрейворк. IMHO вышло не намного сложнее.
Возможно, что-то из моего кода пригодится кому-то из читателей. Готов ответит на все вопросы.
По оформлению — буду исправляться. Надеюсь сильно не осудите.
топик мало помогает понять, где и что именно нужно оптимизировать.
Давайте попытаемся выяснить в комментариях.
На данный момент всё просчитывается в SQL запросах «на лету».
Уже есть предложения использовать словарь тегов с рейтингом.
Но вопрос остаётся открытым — как сохранить контекстнозависимость рейтинга?
нужен словарь тегов / рейтингов по ним. Искать по статьям некошерно
Пока не могу придумать — как сделать контекстнозависимый рейтинг тегов с использованием словаря с рейтингом?
И ещё вопрос — как оцениваете контекстнозависимый рейтинг в поиске?
Действительно ли удобно?
И ещё вопрос — как оцениваете контекстнозависимый рейтинг в поиске?
Действительно ли удобно?
Sign up to leave a comment.
AJAX поиск по облаку тегов с динамическим контекстнозависимым рейтингом. Прототип