Новостная лента с прибамбасами

  • Автор темы Intelligent
  • Дата начала

Intelligent

Guest
Новостная лента с прибамбасами

Надо сделать новостную ленту такого плана:
Есть новость, она выводиться пользователю, а сбоку новости схожей тематики (примерно тоже самое что и на lenta.ru - "Ссылки по теме").
Так вот вопрос как это все организовать, как выявлять схожесть с той или иной новостью, все должно быть релаизовано на php+mysql.
У меня только одна идея: допустим админ добавляет новость, и в админке сделать специальное поле для ключевых слов, далее эти ключевые поля сравиниваются на совпадения с заголовками других новостей, если найдены совпадения, то похожие новости заносяться "список похожих".
Однако мне моя идея не очень нравиться, во-первых, если админ потом еще добавлет новость такой же тематики, то придеться делать перерасчет всех новостей данной тематики чтобы эта новость попала в "список похожих" для добавленных ранее и во-вторых поиск по ключевым словам в некоторых случаях не может дать нужного результата.
Была еще идея сделать что-то вроде таблицы из которой админ выбирает новости для "связки с данной", но пришлось от нее отказаться так как новостей может быть очень много и админ в конце концов может запутаться.

Так вот прошу у вас совета, может кто-то делал подобную систему, поделитесь опытом !
 

HEm

Сетевой бобер
Re: Новостная лента с прибамбасами

Автор оригинала: Intelligent
Была еще идея сделать что-то вроде таблицы из которой админ выбирает новости для "связки с данной", но пришлось от нее отказаться так как новостей может быть очень много и админ в конце концов может запутаться.
Правильный подход.
Не запутается. Если там много ключевых слов/фраз, то и админ (корежит слух, давай лучше его "операитором" назовем) новости часто делает и всех их наизусть знает.
Если же он делает новости нечасто, то ничего страшного, что на полминуты больше будет глазеть в список.
 

Intelligent

Guest
не думаю что это правильный подход:
1. новостей действительно много (~5-7 в день), то есть через месяц их уже будет за 200
2. новости скорее всего будут добавлять несколько человек, что значительно усложняют задачу поиска "похожих"
 

HEm

Сетевой бобер
новости имеют обычай "устаревать"
А при чем тут "через месяц их будет 200"? Вы ковыряете одну и ту же новость несколько раз? глупо

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

lucas

Guest
Список -- хорошая мысль.

Только помещать в него нужно не ключевые слова, а предварительно разработанный список возможных тем новостей (10-40 штук).

В зависимости от степени необходимой детализации это может быть либо "Политика", "Сельское хозяйство", либо -- "Гос. Дума", "Администрация президента" и "Картофелеуборочная промышленность", "Овощеводство".

У администратора должна быть возможность добавить новую тему, если существующие не удовлетворяют смыслу новости.

Преимущества:
1. Отсутствие необходимости что-либо обновлять либо перегенерировать.
2. Возможность впоследствии ввести рубрикацию без дополнительных усилий.
 

HEm

Сетевой бобер
lucas
"10-40" - для сайта с 5-7 новостями в день этот список быстро вырастет до более устрашающих величин (особенно, если учитывать горячие темы (ЧЕ2004, Ирак, Путин, теракт там-то, Ходорковский-Юкос, дефолт и т.п.)
 

Intelligent

Guest
lucas
в принципе твоя идея весьма неплоха, она меня еще навела тут на такую мысль, что если выводить список сгенерированный в соотвествии с ключевыми словами, и уже в этом списке "оператор" конкретизирует какие новости связать с добавляемой, хотя и использование тематических рубрик весьма нелохой вариант (возможно даже лучший чем мой!), но опять же новостей много и очень разносторонних и этих рубрик может быть до не приличия много
 

lucas

Guest
HEm

Есть подозрение, что делается не лента.ру, а, следовательно, хоть какая-то общая смысловая направленность прослеживается. (Что, кстати, нужно уточнить у Intelligent'а.)

Кстати, я думаю, что возможно в 30 общих тем разложить все новости так, чтобы список связанных новостей выглядел более-менее пристойно.
___________________

Пример из жизни:
В существующе проекте сайта миграционной направленности + привлечения иностр. раб. силы в РФ в новостной ленте проводится рубрикация в 7-8 рубрик + по регионам.
Заказчик не жалуется. :)
 

Dallas

Guest
Возможно, подобная мысль уже звучала:
при добавлении новости присваивать ей ключевые слова, строки, допустим, через зпт. У каждой из новостей ей после с подобным списком, и есть поле со списком "однородных" новостей. При занесении новости в базу по полю (строкам в нем, по каждой в отдельности) ищутся по LIKE схожие новости и добавляются в список "сородичей". Тут все упрется в политику заполнения ключевых значений разными операторами.
 

Baboon

Guest
2Dallas: Через год ты будешь для каждого юзера сайта шерстить базу с 5000 записей, с примерно 5000 байт текста в каждой. Подход неверен: если сайт ракрутится - юзеров будет ещё больше - серваку (*)здец.

Список id новостей, которые определяются оператором как "похожие" и после чего эти id прикрепляются через запятую или ещё как к самой новости - самый правильный выход. Если похожих стало 6 штук, а ты выводишь только пять - возьми первые пять и выведи их юзеру - он будет рад, а ты без геморроя.
 

Intelligent

Guest
Автор оригинала: Baboon
2Dallas: Через год ты будешь для каждого юзера сайта шерстить базу с 5000 записей, с примерно 5000 байт текста в каждой. Подход неверен: если сайт ракрутится - юзеров будет ещё больше - серваку (*)здец.
Так ведь можно и не для каждого юзера, база будет "перелопачиваться" только когда админ добавляет новую новость, а далее можно как ты сказал прикрепить "схожие" id к данной новости
 

lucas

Guest
Чем мне не нравится идея Бабуна, так это тем, что вместо использования (почти) заранее определенной ясной рубрикации, админу придется вручную выискивать похожие новости, определяя степень похожести в силу собственной интуиции.

Ясно, что при наличии больше десятка новостей, делать это будет невозможно.

Есть "привязывать" только 5-6, то часть новостей рано или поздно окажется "потерянными".

P. S.: Я все еще стою за свою идею с рубриками. :D
 

Baboon

Guest
Зато это даёт 100% гарантию, что новости будут именно теми.

Неприятно будет объяснять заказчику, что новость про увеличение производства презервативов оказалась прикреплена к новости про оказание помощи детскому дому резиновыми игрушками случайно и по ошибке.
 

lucas

Guest
Я же написал, что это возможно только при наличии [m]нескольких[/m] новостей.
В противном случае, или появятня неприкрепленные новости, или админу придется сутками их выискивать.
 

Dallas

Guest
Baboon, расхожесть в твоих высказываниях с моими я вижу лишь в плане ограничения max кол-ва схожих новостей (это уже ньюанс, который и упоминать не стоило при общем рассмотрении вопроса). И откуда ты вообще взял, что я для каждого юзера собираюсь шерстить базу? Я сказал, что ее надо шерстить лишь при добавлении новости. Или я чего-то не понял, и юзеры добавляют новости? Именно засчет поля в каждой записи о схожих новостях ничего и не придется шерстить при каждом запросе. Тут все упирается в цели заказчика - в каком виде он хочет хранить новости (рубрики, по дате занесения...), хочет ли он вести полный архив, не полный, хочет ли он в каждой новой новости иметь возможность сослаться хоть на трехлетнюю давность... В общем, куча идеологий высказано, осталось конкретизировать потребность.

-~{}~ 15.07.04 15:33:

...тем более, если новосте будет ОЧЕНЬ много, то без ключевых слов не обойтись даже с рубриками - во вложениях также надо будет вести более конкретный поиск "родственников".
 

lucas

Guest
Dallas

Дык, а подрубрики зачем придуманы тогда? :D

P. S.: Ну как вам еще объяснить, что использование рубрик -- некоторый "стандарт"? Заранее известно, как указать принадлежность новости, тогда как выбранные админом ключевые слова зависят исключительно от его настроения...
 

Dallas

Guest
Ну вот, снова я не понят. Я же не отрицаю рубрики, наоборот! Я лишь хочу сказать, что даже с применением рубрик при большом кол-ве новостей не помешают и ключевые слова, иначе степень вложенности создаст неудобства.

-~{}~ 15.07.04 20:05:

Лично я в идеале вижу это так - используются рубрики (вложенность по удобству), но с применением идентификации родственных _недавних_ новостей.
 
Сверху