Индексирование по тегам

Тема в разделе "ExpressionEngine", создана пользователем indian.rider, 23 окт 2008.

Статус темы:
Закрыта.
  1. indian.rider

    indian.rider Постоялец

    Регистр.:
    20 окт 2008
    Сообщения:
    119
    Симпатии:
    26
    Переношу проект на ЕЕ. У меня была реализованна такая функциональность:

    1. есть словарь тэгов (таблица не несколько сотен записей);
    2. есть несколько тысяч статей в тексте которых встречаются теги;

    Несколько раз в сутки запускался скрипт который индескировал в отдельную таблицу соответствие тэгов и статей. Фактически он находил несколь тегов в новой статье и записывал в "индексную" таблицу несколько соответствий.

    После этого достаточно легко можно было получить все статьи содержащие тэг "яблоко".

    Каким образом это можно реализовать в рамках идеологии EE?

    Вижу, что известный модуль Тэгов здесь не подходит. Нужна именно автоматическая работа.
     
  2. stas3

    stas3 Создатель

    Регистр.:
    15 авг 2008
    Сообщения:
    11
    Симпатии:
    0
    не совсем понял сути, но думаю готового решения нет.
     
  3. indian.rider

    indian.rider Постоялец

    Регистр.:
    20 окт 2008
    Сообщения:
    119
    Симпатии:
    26
    плохо объяснил ;)

    Суть в поиске известных системе тэгов в новых статьях автоматически (несколько раз в сутки).

    Именно автоматически, а не ручное сопоставление тэгов каждой статье.
     
  4. stas3

    stas3 Создатель

    Регистр.:
    15 авг 2008
    Сообщения:
    11
    Симпатии:
    0
    если ты говорил, что у тебя запускался какой то скрипт, то советую описать весь этот процесс с предоставлением всех скриптов на рассмотрение в EEClub.ru, возможно за идею ухватятся, если она будет очень необходима. В модуле Тэгов (Tag module) для EE кстати сказать есть такая функция как Harvest, котрая собирает тэги...
     
  5. indian.rider

    indian.rider Постоялец

    Регистр.:
    20 окт 2008
    Сообщения:
    119
    Симпатии:
    26
    Я видел, что там есть функция, собирающая тэги. Но она их собирает как-то уж совсем по другому, в том числе, собирает такие слова и сочетания букв, которые я совсем за тэги не хочу принимать.

    Да и задача то обратная, не "придумывать" тэги, а создать индекс для быстрого доступа к материалам по уже существующим тэгам.

    Спасибо за совет. В клубе попробую описать суть задачи.
     
  6. ppr

    ppr Постоялец

    Регистр.:
    2 апр 2006
    Сообщения:
    68
    Симпатии:
    20
    Мои 5 копеек

    Решения нет, но мне это напомнило аддоны (их около 3 от разных разработчиков) Acronym. Если у Вас эсть теги, то эти аддоны находят их сами автоматически в статьях. Но просто выводят на экран (в разном HTML-оформлении). Если перенаправить их вывод в пользовательское поле, то потом остается только запустить сбор тегов по этому полю и получить все возможности для работы с тегами (вывод существующих тегов по статьям/списком/облаком, с выводом статей, где каждый тег содержится и ссылками для перехода на них).

    То есть, по идее, только изменить направление вывода акронимов. Дальше все делается автоматически и стандартными тегами EE.
     
  7. indian.rider

    indian.rider Постоялец

    Регистр.:
    20 окт 2008
    Сообщения:
    119
    Симпатии:
    26
    Спасибо за 5 копеек :)

    Немного покопаюсь в теме и отпишу что из этого получилось.
     
  8. ppr

    ppr Постоялец

    Регистр.:
    2 апр 2006
    Сообщения:
    68
    Симпатии:
    20
    Кстати, мысля пришла.

    Можно сделать полностью стандартными средствами (если я правильно понял задачу). Как я сказал теги в статьях находятся при помощи 1 из модулей/плагинов акронимов. Вывод акронимов оформить в качестве ссылки. А эта ссылка должна осуществлять стандартный поиск статей по этому слову (то есть ссылка должна перенаправлять на шаблон поиска, который читает URL и показывает результаты поиска по этому слову, делвется стандартными средствами, кажется разработчик EE Paul Burdick первым эту идею поиска предложил и реализовал).

    То есть акронимы будут работать как теги. Единственно, облако тегов при этом уже не получится :) Но, кажется, в этом и не было необходимости.

    P.S. Был плагин, который выводит акронимы не в тексте, а под статьей списком. То есть будут выглядеть как теги.
     
  9. indian.rider

    indian.rider Постоялец

    Регистр.:
    20 окт 2008
    Сообщения:
    119
    Симпатии:
    26
    Только сейчас вернулся к этому вопросу. Акронимы -- это не подойдет.

    Уточню задачу:

    Есть куча новостей (реально куча). И есть компании (теги) по которым нужно разобрать эти новости. Если в новости упоминается MS, apple, sisco -- это и есть теги которые нужно приколоть к статье. Тегов несколько сотен. Руками никак... редакция этим заниматься не будет ...и крайнего нет.

    Эта же задача присутствует в проекте еще и в других ипостасях. В общем, нужно именно так.

    А решение я вижу достаточно простое.

    Все теги сопоставляются с материалами в табличке exp_tag_entries, сами теги хранятся в exp_tag_tags.

    Поэтому:

    1. При помощи пары SQL запросов находим теги которые нужно сопоставить с конкретной новостью (теги встречаются в заголовке и в теле новости). Новости например берем за последние n часов/минут/суток. Кажись даже можно без регекспов.

    2. Заталкиваем список соответсвий в нужную табличку.

    Это можно реализовать в виде модуля для ЕЕ, а можно и просто как совершенно левый файлик на 100 строчек который будет работать с БД по крону.
     
  10. ppr

    ppr Постоялец

    Регистр.:
    2 апр 2006
    Сообщения:
    68
    Симпатии:
    20
    Не понял, почему не подойдет. Нет, так нет. Можно и др. способом. По крону. Но с акронимами крона не надо. Задаешь список тегов, и всё. При открытии статей EE будет динамически их (эти теги) находить и оформлять необходимым способом.
     
Статус темы:
Закрыта.