X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Вывод похожих ностей DLE, обновить алгоритм отбора
modlen
modlen
Topic Starter сообщение 28.11.2011, 10:27; Ответить: modlen
Сообщение #1


Алгоритм поиска похожих новостей на dle в стандартом скрипте осуществляется по 4-м критериям: title, short_story, full_story, xfields. Имеется сайт, где в новостях текста практически нет, потому он не работает, вернее работает местами, но есть подробное описание статьи в теге description (Описание для статьи) 150-200 символов.
Подскажите плиз, как добавить критерий выбора по description?


--------------------
Regvps профессиональные Linux VPS в России.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
modlen
modlen
Topic Starter сообщение 30.11.2011, 8:28; Ответить: modlen
Сообщение #2


Ну хоть дайте направление, где копать! sad.gif


--------------------
Regvps профессиональные Linux VPS в России.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Gwindbleid
Gwindbleid
сообщение 30.11.2011, 10:23; Ответить: Gwindbleid
Сообщение #3


А что мешает вам копировать description и добавлять его в новость?


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
modlen
modlen
Topic Starter сообщение 30.11.2011, 13:36; Ответить: modlen
Сообщение #4


(Gwindbleid @ 30.11.2011, 10:23) *
А что мешает вам копировать description и добавлять его в новость?


Личная политика оформления новости так делать не позволяет. Хотя идея!!!! А ПС не будут воспринимать данный метод как дубликат?


--------------------
Regvps профессиональные Linux VPS в России.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Gwindbleid
Gwindbleid
сообщение 30.11.2011, 13:47; Ответить: Gwindbleid
Сообщение #5


Недавно обсуждали здесь похожую тему. Если вывод похожих новостей сделан для людей (для удобства навигации), то заключите содержимое в <noindex>. И дублей не будет. Если же это для перелинковки, то делайте содержимое не более 100 символов.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Softik
Softik
сообщение 30.11.2011, 14:11; Ответить: Softik
Сообщение #6


Так description берется с полной новости. Или ты вручную description фигачишь? blink.gif
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
modlen
modlen
Topic Starter сообщение 30.11.2011, 15:28; Ответить: modlen
Сообщение #7


(Softik @ 30.11.2011, 14:11) *
Так description берется с полной новости. Или ты вручную description фигачишь? blink.gif


В ручную прописывается т.к. в полной новости не предусмотренно какого либо текста!


--------------------
Regvps профессиональные Linux VPS в России.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
AleXSuS
AleXSuS
сообщение 1.12.2011, 21:17; Ответить: AleXSuS
Сообщение #8


В файле show.full.php (папка modules) найдите следующий код:

                $db->query( "SELECT id, title, date, category, alt_name, flag FROM " . PREFIX . "_post WHERE MATCH (title, short_story, full_story, xfields) AGAINST ('$body') AND id != " . $row['id'] . " AND approve='1'" . $where_date . " LIMIT " . $config['related_number'] );


и замените на этот:


                $db->query( "SELECT id, title, date, category, alt_name, flag FROM " . PREFIX . "_post WHERE MATCH (title, short_story, full_story, xfields, descr) AGAINST ('$body') AND id != " . $row['id'] . " AND approve='1'" . $where_date . " LIMIT " . $config['related_number'] );


Проверить на сайте нет возможности, но думаю должно заработать.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
modlen
modlen
Topic Starter сообщение 2.12.2011, 12:15; Ответить: modlen
Сообщение #9


(AleXSuS @ 1.12.2011, 21:17) *
В файле show.full.php (папка modules) найдите следующий код:

                $db->query( "SELECT id, title, date, category, alt_name, flag FROM " . PREFIX . "_post WHERE MATCH (title, short_story, full_story, xfields) AGAINST ('$body') AND id != " . $row['id'] . " AND approve='1'" . $where_date . " LIMIT " . $config['related_number'] );


и замените на этот:


                $db->query( "SELECT id, title, date, category, alt_name, flag FROM " . PREFIX . "_post WHERE MATCH (title, short_story, full_story, xfields, descr) AGAINST ('$body') AND id != " . $row['id'] . " AND approve='1'" . $where_date . " LIMIT " . $config['related_number'] );


Проверить на сайте нет возможности, но думаю должно заработать.


Так тоже не работает! Вот скрин

А ни каких запросов к базе не нужно делать?


--------------------
Regvps профессиональные Linux VPS в России.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
AleXSuS
AleXSuS
сообщение 2.12.2011, 12:43; Ответить: AleXSuS
Сообщение #10


(modlen @ 2.12.2011, 15:15) *
Так тоже не работает! Вот скрин

А ни каких запросов к базе не нужно делать?

Это и есть запрос к базе. Он выбирает похожие новости по определённым параметрам. Сейчас проверил на своём сайте, у меня работает.
Вы уверены что у вас description прописан в новостях? Скиньте в личку сайт.
Попробуйте оставить только descr

                $db->query( "SELECT id, title, date, category, alt_name, flag FROM " . PREFIX . "_post WHERE MATCH (descr) AGAINST ('$body') AND id != " . $row['id'] . " AND approve='1'" . $where_date . " LIMIT " . $config['related_number'] );


Всё, вроде понял в чём проблема. Сейчас попробую написать решение.

Код правильный я вам привёл, но чтобы он заработал нужно внести изменение в базу данных. А точнее создать FULLTEXT Index.

Этот индекс создан по умолчанию только для 4 полей: title, short_story, full_story, xfields
А про descr движок как бы не знает, поэтому ошибка.
Нужно сделать запрос к базе данных сайта. В phpmyadmin, например.

ALTER TABLE `dle_post` ADD FULLTEXT (
`short_story` ,
`full_story` ,
`xfields` ,
`title`,
`descr`
);


Советую перед любыми действиями с базой данных - сделать бэкап базы!

Сообщение отредактировал AleXSuS - 2.12.2011, 12:32


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Ручной обмен, ввод/вывод электронных валют | ЮMoney, WMZ, Крипта, Приват, Монобанк | Низкие комиссии, минимальные суммы сделок
быстро, удобно, по доступному курсу
200 Sostavitel 97663 11.2.2024, 21:07
автор: Wolfhound
Открытая тема (нет новых ответов) DLE xProtect
2 xoopw 5950 15.1.2024, 21:06
автор: Diana_Wesley
Открытая тема (нет новых ответов) Sbitcoin.ru – Ввод, Вывод, Обмен: Qiwi, YD, Btc, Btc-e, PM, Cash IN, PR24, MG, WU, Нал (RU, UA).
9 sbitcoinru 6746 10.10.2023, 19:25
автор: Sbitcoin
Открытая тема (нет новых ответов) Обновить сайт на CMS DLE
1 Sawich 1642 2.9.2023, 10:10
автор: WoWeb
Горячая тема (нет новых ответов) Обмен WebMoney - Яндекс - QIWI. Вывод/ввод Приват24 UAH
225 himin 132448 7.5.2023, 13:26
автор: Вера_Симонова


 



RSS Текстовая версия Сейчас: 29.3.2024, 1:30
Дизайн