Форум: "Прочее";
Текущий архив: 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�
← →
turbouser © (2010-01-23 22:42) [8]чего-то вторая ссылка неправильная... мда.. а если так..
_ttp://sql.ru/forum/actualthread.aspx?tid=710030&pg=1&hl=ap�
← →
turbouser © (2010-01-23 22:42) [9]8-()
Однако..
�
← →
turbouser © (2010-01-23 22:44) [10]�
← →
turbouser © (2010-01-23 22:45) [11]если писать & # 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.058 c