Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

К разработчикам клиентов форума   Найти похожие ветки 

 
xayam ©   (2010-01-23 15:49) [0]

Общими усилиями расширен протокол взаимодействия между клиентами и форумом. Как это происходило можно почитать здесь - http://delphimaster.net/view/16-1257691869/, а как результат этого общения такой вот скрипт для поиска/вывода старых веток форума, ушедших в архив - http://www.delphimaster.net/cgi/client.pl (возможно ссылка еще поменяется)

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


 
Kolan ©   (2010-01-23 18:52) [1]

Можете выделить из ветки описание протокола в окончательном виде, я выложу на сайте рядом с текущим протоколом http://www.ksoftware.ru/wiki/dmclient/dmclient_protocol2


 
xayam ©   (2010-01-23 19:52) [2]

Вот так примерно получилось в конце
ЗАПРОС

s=%s%&forum=%d%&user=%s%&order=%s%&dir=%s%&title=%s%&message=%s%&date_begin=xxxx-xx-xx&date_end=xxxx-xx-xx&from=%d%&pcount=%d%&UserAgent=%s.s%


s - строка запроса, как искать написано здесь - http://www.delphimaster.net/how
forum - номер форума (все значения и описания возвращаются скриптом по запросу client.pl?getforums=1)
user - автор ветки, которую нужно найти
order - сортировка по умолчанию, вопросу, кол-ву ответов в ветке, нику, форуму или дате
dir - направление сортировки: по убыванию или по возрастанию (asc или desc)
title - флаг (1 - включено, другое значение - выключено), означающий поиск по заголовкам веток.
message - флаг (1 - включено, другое значение - выключено), означающий поиск по сообщениям в ветке.
date_begin - дата, с которой следует искать ветки, формат ГГГГ[-ММ[-ДД]], квадратные скобки означают, что вложенное в них - не обязательно указывать;
date_end - дата, по которой следует искать ветки, формат ГГГГ[-ММ[-ДД]], квадратные скобки означают, что вложенное в них - не обязательно указывать;
from - номер выборки, с которой следует давать ветки.
pcount - сколько веток следует пересылать клиенту.
%s% - строка.
%d% - число.
UserAgent - клиент определяет в этом поле название и версию клиента в формате НАЗВАНИЕ.ВЕРСИЯ
Обязательно нужно указать параметр s, forum или user, остальные параметры не обязательно, но рекомендуется указывать параметры pcount (по умолчанию - 50; максимально - 500) и from, для того чтобы вывод не оказался слишком большим. Параметр UserAgent также рекомендуется к использованию для статистики.

ОТВЕТ

ERROR=сообщения об ошибке по-русски | All=xx\tAllcount=xx
TITLE=Тема ветки\tCNT=xxxxx\tNAME=xxxxx\tN=xxxxx\tID=xxxxx\tDATE=ГГГГ-ММ-ДД ЧЧ:ММ
TITLE=Тема ветки\tCNT=xxxxx\tNAME=xxxxx\tN=xxxxx\tID=xxxxx\tDATE=ГГГГ-ММ-ДД ЧЧ:ММ
...
TITLE=Тема ветки\tCNT=xxxxx\tNAME=xxxxx\tN=xxxxx\tID=xxxxx\tDATE=ГГГГ-ММ-ДД ЧЧ:ММ

All - общее количество найденных веток
Allcount - количество отправленных (ниже) из общего кол-ва найденный веток
TITLE - тема найденной ветки
CNT - количество ответов в ветке
NAME - автор ветки
N - номер конференции (все значения и описания возвращаются скриптом по запросу client.pl?getforums=1)
ID - ID найденной ветки
DATE - дата последнего сообщения ветки в формате ГГГГ-ММ-ДД ЧЧ:ММ
\t - символ табуляции.


 
Tornado   (2010-01-23 20:51) [3]

А для чего вообще нужна подобная программа? Здесь поиск неплохо работает


 
xayam ©   (2010-01-23 21:09) [4]


> Tornado   (23.01.10 20:51) [3]
> А для чего вообще нужна подобная программа? Здесь поиск
> неплохо работает

если Вы не постоянный посетитель, то скорей всего не знаете что через некоторое время здесь ветки переносятся в архив и по ним поиск на этом сайте не производится. Поэтому на отдельной площадке (delphimaster.net) был сделан поиск только по архивам старых веток... А чтобы расширить кол-во клиентов для доступа к поиску, был расширен протокол. Теперь любой клиент может реализовать  поиск, не имея представления о том, как хранятся ветки - только запрос-ответ к серверу и разбор ответа для своего отображения...


 
turbouser ©   (2010-01-23 22:01) [5]


> xayam ©   (23.01.10 21:09) [4]

:)
Если
> если Вы не постоянный посетитель

то, боюсь что придется объяснять что такое
> любой клиент

=))


 
xayam ©   (2010-01-23 22:21) [6]


> turbouser ©   (23.01.10 22:01) [5]
> Если
> > если Вы не постоянный посетитель
> то, боюсь что придется объяснять что такое
> > любой клиент

а он оказывается постоянный - http://www.delphimaster.net/?s=&user=Tornado даже веток больше чем у меня :)
но мы до этого не пересекались - http://www.delphimaster.net/?s=xayam&user=Tornado :)


 
turbouser ©   (2010-01-23 22:40) [7]


> xayam ©   (23.01.10 22:21) [6]

Кстати... есть предложение.. было бы совсем неплохо в случае поиска по нику, при клике на ник переходить к первому сообщению в ветке от этого ника.
Как на скл.ру:
http://sql.ru/forum/actualtopics.aspx?search=AP&submit=%CD%E0%E9%F2%E8&bid=16
и при клике
http://sql.ru/forum/actualthread.aspx?tid=710030&pg=1&hl=ap&#7894599


 
turbouser ©   (2010-01-23 22:42) [8]

чего-то вторая ссылка неправильная... мда.. а если так..
_ttp://sql.ru/forum/actualthread.aspx?tid=710030&pg=1&hl=ap&#7894599


 
turbouser ©   (2010-01-23 22:42) [9]

8-()
Однако..
&#7894599


 
turbouser ©   (2010-01-23 22:44) [10]

&#7894500


 
turbouser ©   (2010-01-23 22:45) [11]

если писать & # 7894500 (без пробелов) - получается &#7894500


 
xayam ©   (2010-01-23 22:47) [12]


> turbouser ©   (23.01.10 22:40) [7]
> Кстати... есть предложение.. было бы совсем неплохо в случае
> поиска по нику, при клике на ник переходить к первому сообщению
> в ветке от этого ника.

а как определять, что в строке поиска был введен ник? Там же можно ввести все что угодно.


 
xayam ©   (2010-01-23 22:48) [13]

и вообще когда в результатах отображается ник - то это ник автора ветки а не того которого ты искал. Так что это скорей всего не получится.


 
turbouser ©   (2010-01-23 22:53) [14]


> xayam ©   (23.01.10 22:47) [12]


> а как определять

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

2-й вариант выглядит более разумно :)


 
turbouser ©   (2010-01-23 22:54) [15]


> xayam ©   (23.01.10 22:48) [13]

да.. я не сразу это просек :)


 
Andy BitOff ©   (2010-01-23 22:55) [16]

Хаям, а with не ищет!
http://www.delphimaster.net/?s=with&pcount=50&forum=0&user=&order=&dir=asc&title=1&message=1&date_begin=&dat e_end=


 
xayam ©   (2010-01-23 22:59) [17]


> 2) - добавить ссылку в списке веток для перехода к первому
> найденному в ветке сообщению, содержащему искомый текст

Можно кстати ссылку поставить в таком формате http://www.delphimaster.net/view/15-1145872467/4,5,10-11 только с нужными сообщениями!


 
xayam ©   (2010-01-23 23:12) [18]


> Andy BitOff ©   (23.01.10 22:55) [16]
> Хаям, а with не ищет!

странно, но действительно нет. Другие слова с 4-я символами ищет - значит нет проблемы. А вообще должно быть? Желательно ссылкой на файл в архиве.


 
Andy BitOff ©   (2010-01-23 23:23) [19]

Ну незнаю, но как-то странно, чтобы на форуме программистов with ни разу не встретился.
Вот, нашел в клиенте, а потом и на сайте.
Это в заголовке - http://www.delphimaster.net/view/15-1245914217
Это в тексте - http://www.delphimaster.net/view/2-1244028786


 
xayam ©   (2010-01-23 23:40) [20]


> Andy BitOff ©   (23.01.10 23:23) [19]
> Ну незнаю, но как-то странно, чтобы на форуме программистов
> with ни разу не встретился.
> Вот, нашел в клиенте, а потом и на сайте.
> Это в заголовке - http://www.delphimaster.net/view/15-1245914217
> Это в тексте - http://www.delphimaster.net/view/2-1244028786

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


 
Tornado   (2010-01-24 10:56) [21]


> xayam ©   (23.01.10 21:09) [4]

Понял пасип


 
Наиль ©   (2010-01-24 11:15) [22]

> [0] xayam ©   (23.01.10 15:49)

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

> [7] turbouser ©   (23.01.10 22:40)

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

> [18] xayam ©   (23.01.10 23:12)
> да глюк есть, нужно разбираться, с ходу не понятно в чем
> может быть проблема.

Очевидных проблем две: либо в базе такого слова нет, либо With воспринимается как оператор запроса, а не поиковый текст, а это большая дыра в защите сайта. Но возможно причина из числа менее очевидных.


 
Наиль ©   (2010-01-24 11:24) [23]

> либо With воспринимается как оператор запроса

Проверил.
Это не так.


 
xayam ©   (2010-01-24 11:26) [24]


> Наиль ©   (24.01.10 11:15) [22]
> > [18] xayam ©   (23.01.10 23:12)
> > да глюк есть, нужно разбираться, с ходу не понятно в чем
> > может быть проблема.
>либо в базе такого слова нет

очевидно есть, ссылки же дали на ветки где есть with и в заголовке и в сообщениях. Просмотр ветки формируется тоже из базы (раньше было из файлов)

> либо With воспринимается как оператор запроса, а не поиковый
> текст, а это большая дыра в защите сайта

вообще я тоже сначала так подумал, но как вариант - это особенность полнотектового поиска, хотя в документации не нашел упоминания об этом операторе, запрос к базе составлен верно и SQL-инъекция невозможна

> Но возможно причина из числа менее очевидных.

Интересно что бы это могло быть? :)


 
Anatoly Podgoretsky ©   (2010-01-24 12:21) [25]

> Наиль  (24.01.2010 11:15:22)  [22]

А разве параметры не используются?


 
Наиль ©   (2010-01-24 15:44) [26]


> [24] xayam ©   (24.01.10 11:26)
> Интересно что бы это могло быть? :)

Попробуй прямым запросом вытащить из базы ветки со словом With.
Что будет?

> [25] Anatoly Podgoretsky ©   (24.01.10 12:21)
> > Наиль  (24.01.2010 11:15:22)  [22]
>
> А разве параметры не используются?

Сейчас я практически уверен, что используются, хотя ни базы не запросов в глаза не видел.


 
xayam ©   (2010-01-24 16:00) [27]


> Наиль ©   (24.01.10 15:44) [26]
> Попробуй прямым запросом вытащить из базы ветки со словом
> With.
> Что будет?

да уже пробовал - с помощью like "%With%" по заголовку находит. А полнотекстовый нет. Мне кажется это какая-то особенность полнотекстового поиска, которая нам пока не известна...


 
Kolan ©   (2010-01-24 17:43) [28]

Протокол.

https://www.assembla.com/wiki/show/DMClient/delphimaster_net_protocol


 
xayam ©   (2010-01-25 20:45) [29]

вот еще карту сайта сделал http://www.delphimaster.net/sitemap.xml там больше 200.000 ссылок получилось. Теперь жди беды от поисковиков :)



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.53 MB
Время: 0.075 c
2-1267982007
NBAH1990
2010-03-07 20:13
2010.08.27
Ошибка при передачи данных по TCP протоколу


2-1271079259
noob_one
2010-04-12 17:34
2010.08.27
Можно ли в delphi2007 объявить функцию в одном файле (модуле)


4-1233036413
Sirus
2009-01-27 09:06
2010.08.27
Как поместить свою форму или кнопку на панель задач?


13-1125398405
Cherrex
2005-08-30 14:40
2010.08.27
WIN и VCL


11-1216289923
BMouradov
2008-07-17 14:18
2010.08.27
потеря фокуса формы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский