Процесс установки:
1. Выполнить SQL запрос (для добавления нужного индекса. схожесть тем ищем сразу по двум полям title и tags):
alter table prefix_topic add fulltext key `title_tags` (topic_title, topic_tags);
2. Содержимое каталогов classes/ config/ и templates/ копируем (со всеми подкаталогами) в корневой каталог сайта где установлен LiveStreet.
3. Скопировать файл templates/skin/new/block.similarTopics.tpl в каталог активного скина.
Количество выводимых тем можно настроить в файле config/modules/similartopics/config.php. SIMILARTOPIC_COUNT — количество выводимых тем (по умолчанию 5) SIMILARTOPIC_SCORE — минимальное количество баллов, при котором тема считается похожей. рекомендуется выше 3-4, но на небольших сайтах можно и пониже. (по умолчанию 3).
Слегка неудобен процесс добавления блока. было бы хорошо, если бы была возможность указания порядка отображения блока (приоритет). и получение текущего списка блоков (для замещения, или вставки блока в зависимости от ситуации). но это так, мысли вслух.
93 комментария
Однозначно плюс в карму :)
Выложили бы в раздел модулей бесплатных… там больше народу найдет и скачает, да и еще на верху будет долго висеть, а тема уйдет.
модуль написан хорошо, только есть парам моментов:
1. обработчик блока делать не обязательно, если ничего обрабатывать не нужно. Достаточно прописать в addBlock() весь путь до шаблона
2. в маппере запрос можно в разы сократить — убрать из него всё, что связанно с $iCurrentUserId т.к. эти данный всёравно не используются(vote,question_vote и т.п.)
Насколько я понимаю, тем, у кого для таблицы «prefix_topic» установлен тип InnoDB, вначале следует поменять тип на MYISAM, ведь первый не поддерживает полнотекстовые индексы.
ALTER TABLE prefix_topic ENGINE = MYISAM;
Но лично у меня вышеприведённый запрос завершился неудачей:
#1217 - Cannot delete or update a parent row: a foreign key constraint fails
Может как то по другому можно решить проблему fulltext keys? Сам ort рекомендует и архитектура движка ориентированы именно на базу с поддержкой innoDB. Я думаю не дело из за отдельных доработок менять тип тип таблиц в базе.
ага, обидно, что только в myisam работает :(( такая полезная фича
а может как нить переделать его?
ну, например, на теги ориентироваться… я думаю, что есть какие-нить варианты…
да рекомендуют, да грешен, но работает и даже без глюков. Не знаю просто как по простому перевести всю базу в inno. на полнотекстовый поиск все равно пофиг, сфинкс же использую. Если кто знает как за пару нажатий это сделать — черканите как :)
Сменил шаблон и отвалился данный блок (в папку с новым шаблоном, естественно, докопировал необходимый файл). Также могу связать это с добавлением доп. блоков по этой инструкции. Проконсультируйте, пожалуйста. Всю голову сломал, почему так произошло, а ведь работал на УРА.
Готового рецепта не дам, потому что не знаю, как именно строит запросы топикстартер, каков у него алгоритм поиска похожих топиков. Поэтому дал только направление поисков.
Но я еще пляшу от следующих соображений: движок заточен под InnoDB (не вникая в глубь понимаю, что используются ключи, возможно, транзакции и т.д.). Если ресурс подразумевается серьезный и с хорошей посещаемостью, то нафига искать приключений? «Похожие топики» — классная фича, но для меня не до такой степени, чтобы я рисковал целостностью данных.
Никто и не говорит рисковать. Просто нужно переделать как-то. Я не смотрел исходник блока, но первое, что приходит на мысль — это определять «похожесть» по тегам топиков. Но это, имхо, самый примитивный вариант :(
А не будет ли доработки с возможностью указания приоритета вывода блока? А то после добавления два новых (дополнительных) блока, данный перестал выводиться… Менял строку:
Установил, но не вижу результатов, ошибок тоже не видно :)
Блок по умолчанию должен выводиться, сразу после установки или его нужно прописать куда-то?
Заранее спасибо…
Что-то тема как то сникла… Ну, что есть шарящие в Sphinx? Переписать под последние ревизии и используя Sphinx? Много кто спасибо скажет )) Ну можно конечно немножко денюжек обществом собрать. Там делать то почти нечего (ну в смысле человеку, который шарит в sphinx)
Вещь полезная, работает, но нашел один досадный косячок.
В блоке выводятся все публикации, даже неопубликованные. Тоесть в «похожих темах» есть ссылки на заголовки топиков, которые еще в черновиках. Отсюда 404 ошибки, а это не нравится ни Яше, ни Гуглу
У вас таблицы в InnoDB. Они не поддерживают полнотекстовый поиск. Сейчас идёт разработка этого модуля с поддержкой InnoDB (через sphinx). Если вы счастливый обладатель VPS/VDS то присоединяйтесь
установила по подсказке выже вывод блока похожих топиков после самого топика. Но дублируется такой же блог в сайдбаре. Не нашла упоминания в шаблонах сайдбара об этом топике… как его убрать с сайдбара, оставив под топиком?
Дуратский вопрос, но… Хочу чтобы блок выводился в сайд баре. Но он выводится без дефолтовой рамочки лифстрит. Как её добавить в дизайн блока?)) порылся в .tpl но не понял что нужно добавить.((
Catchable fatal error: Argument 1 passed to PluginSimilar_ModuleSimilar::setCurrentTopic() must be an instance of ModuleTopic_EntityTopic, null given in /var/www/yaf/data/www/t-human.com/blogs/plugins/similar/classes/modules/similar/Similar.class.php on line 34
На этой строке:
function setCurrentTopic(ModuleTopic_EntityTopic $currentTopic) {
livestreet.ru/addons/140/ нашёл вот это, оно работает, но насколько я понял — действует только для тегов и тайтла. Для того, чтобы учитывалось тело поста нужен сфинкс? Если так, последний вопрос предыдущего коммента в силе)
93 комментария
Выложили бы в раздел модулей бесплатных… там больше народу найдет и скачает, да и еще на верху будет долго висеть, а тема уйдет.
1. обработчик блока делать не обязательно, если ничего обрабатывать не нужно. Достаточно прописать в addBlock() весь путь до шаблона
2. в маппере запрос можно в разы сократить — убрать из него всё, что связанно с $iCurrentUserId т.к. эти данный всёравно не используются(vote,question_vote и т.п.)
Но лично у меня вышеприведённый запрос завершился неудачей:
2. Прикручивать ко всему этому sphinx.
продолжает выдавать ошибку:
а может как нить переделать его?
ну, например, на теги ориентироваться… я думаю, что есть какие-нить варианты…
и после запроса:
Как только добавить этот блок после топика, а не в правый сайдбар :)
#1214 — The used table type doesn't support FULLTEXT indexes
Большое Вам спасибо, а за то, что в публичном доступе — вдвойне :)
На приведённом вами сайте это в подвале написано и ссылка на сайт ЛС
Но я еще пляшу от следующих соображений: движок заточен под InnoDB (не вникая в глубь понимаю, что используются ключи, возможно, транзакции и т.д.). Если ресурс подразумевается серьезный и с хорошей посещаемостью, то нафига искать приключений? «Похожие топики» — классная фича, но для меня не до такой степени, чтобы я рисковал целостностью данных.
Добавились baner и baner2… SimilarTopics сломался(((
Блок по умолчанию должен выводиться, сразу после установки или его нужно прописать куда-то?
Заранее спасибо…
В блоке выводятся все публикации, даже неопубликованные. Тоесть в «похожих темах» есть ссылки на заголовки топиков, которые еще в черновиках. Отсюда 404 ошибки, а это не нравится ни Яше, ни Гуглу
На этой строке:
Собственно, после установки плагина «aceBlockManager».
Подскажите, кому не сложно, где искать ошибку?
возможна ли реализация «похожих тем» на ls 0.4.2 с innodb и без сфинкса?
если нет — не могли бы ткнуть в носом в «настройка сфинкса для ls для чайников»? :)