Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.02.15;
Скачать: CL | DM;

Вниз

Помогите исправить багу в скрипте поисковика   Найти похожие ветки 

 
xayam ©   (2008-08-31 16:00) [40]

народ давайте активнее, что еще надо в функциональность добавить? Кроме поиска по сообщениям (это я уже знаю)


 
ketmar ©   (2008-08-31 16:43) [41]

>[40] xayam © (2008-08-31 16:00:00)
шлюх и блэкджэк.

---
Understanding is not required. Only obedience.


 
xayam ©   (2008-08-31 17:06) [42]

любой каприз за Ваши деньги))


 
xayam ©   (2008-08-31 20:59) [43]

еще такая проблема. Как в php получить в строку из html-файла  текст без форматирования (без тегов, без атрибутов, только отображаемый текст), чтобы сделать индексатор файла? Или как-то по-другому делают?


 
antonn ©   (2008-08-31 22:05) [44]

strip_tags()


 
antonn ©   (2008-08-31 22:10) [45]

хотя я предпочитаю хранить в базе исходный текст, а не html :)
и кешировать результаты поиска на некоторое время, чтобы лазия по страницам не искать снова и снова


 
xayam ©   (2008-08-31 22:17) [46]


> antonn ©   (31.08.08 22:05) [44]
> strip_tags()

угу, уже нашел.


 
xayam ©   (2008-08-31 23:00) [47]


> antonn ©   (31.08.08 22:10) [45]

че то регулярные выражения подзабыл, как выделять русские/английские слова для индексирования? У меня получилось так preg_match_all("|[a-zA-Zа-яА-Я0-9]*|", $contents, $out, PREG_PATTERN_ORDER); но не работает


 
xayam ©   (2008-08-31 23:35) [48]

точней вот так работает

 $count = preg_match_all("/[a-zA-Z0-9_а-яА-Я]{4,}/i", $contents, $out, PREG_PATTERN_ORDER);
 if ($count)
 for ($i = 0; $i < $count; $i++)
    echo  $out[0][$i]."<br />";
но с русскими буквами что-то не то, вопросики в некоторых местах выводит


 
antonn ©   (2008-08-31 23:44) [49]

чет не могу представить себе, как оно должно работать...
а вообще... :)
setlocale( LC_CTYPE, array("ru_RU.CP1251", "rus_RUS.1251"));

$text="++155 %dd% text1 value1=sАвs Бяка text2 value2=aaa 10 asd";

preg_match_all("#\b(\w+)#i", $text, $out, PREG_PATTERN_ORDER);

print_r($out);


 
antonn ©   (2008-08-31 23:51) [50]

в принципе "i" там не нужна...


 
xayam ©   (2008-08-31 23:58) [51]


> antonn ©   (31.08.08 23:44) [49]

так тоже вопросы, а вот так вопросов нет -

 $count = preg_match_all("/[a-zA-Zа-Я0-9_]{4,}/i", $contents, $out, PREG_PATTERN_ORDER);
  if ($count)
  for ($i = 0; $i < $count; $i++)
    echo  $out[0][$i]."<br />";
только почему то русские слова неправильно отбираются, есть короче 4 символов и какие-то обрезанные попадаются


 
xayam ©   (2008-09-01 00:00) [52]

а как utf8 в локали установить?


 
antonn ©   (2008-09-01 00:05) [53]

в регулярке "/(ля-ля-ля)/U"


 
antonn ©   (2008-09-01 00:06) [54]

соответственно локаль вообще убери, это я на локалхосте эксперементировал :)


 
xayam ©   (2008-09-01 00:10) [55]


> antonn ©   (01.09.08 00:05) [53]
> в регулярке "/(ля-ля-ля)/U"

не помогает, еще и английские слова разбиваются на мелкие ((


 
xayam ©   (2008-09-01 23:31) [56]

в книжке вычитал что так нужно

$count = preg_match_all("/\b[\w]{4,}\b/s", $contents, $out, PREG_PATTERN_ORDER);

но тоже не работает с русскими буквами, че за фигня может быть?


 
antonn ©   (2008-09-02 00:13) [57]


> не помогает, еще и английские слова разбиваются на мелкие
> ((

а ты прям так пишешь: /[a-zA-Zа-Я0-9_]{4,}/i
? :)

у меня #\b(\w{4,})#is выбирает слова от 4х символов, все работает...


 
xayam ©   (2008-09-02 00:19) [58]


> antonn ©   (02.09.08 00:13) [57]
> у меня #\b(\w{4,})#is выбирает слова от 4х символов, все
> работает...

а у меня не работает
работает более менее вот так

$count = preg_match_all("/[\x80-\xFFa-z0-9_]{4,}/i", $contents, $out, PREG_PATTERN_ORDER);

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


 
xayam ©   (2008-09-02 00:20) [59]

еще вопрос, в php есть функция для удаления повторяющихся элементов из массива?


 
xayam ©   (2008-09-02 00:25) [60]


> xayam ©   (02.09.08 00:19) [58]
>  Что за фигня?

о я допер вот так идеально)) подогнал))

$count = preg_match_all("/(([\x80-\xFF]{8,})|([a-z0-9_]{4,}))/i", $contents, $out, PREG_PATTERN_ORDER);

отбирает все слова длинее 3-х букв русских и английских!


 
antonn ©   (2008-09-02 00:32) [61]

а /s не нужно, у тебя однострочный текст? :)

постом выше - array_unique()


 
xayam ©   (2008-09-02 00:35) [62]

спасибо, люблю за это php - в первую очередь думают о программисте :)


 
antonn ©   (2008-09-02 01:30) [63]

я когда только начал изучть его и смотрел на подобное "/([-+]?\\b(?:[0-9]*\\.)?[0-9]+\\b)/s" мне хотелось их все убить :)


 
xayam ©   (2008-09-03 13:41) [64]

короче сделал я индексатор всех веток форума, прогнал по всем веткам, ужас база со всеми индексами занимает 1.5 ГБ. Как такой объем загрузить на хостинг? На хостинге phpmyadmin стоит, но он там максимум 2 Мб в зипе может загрузить. Что можно сделать, чтобы обойти эту проблему?


 
Anatoly Podgoretsky ©   (2008-09-03 13:44) [65]

> xayam  (03.09.2008 13:41:04)  [64]

1000 файлов и проблема решена.


 
xayam ©   (2008-09-03 13:51) [66]

дык это что вручную делать 1000 файлов и вручную загружать, я ж умру?))


 
brother ©   (2008-09-03 13:53) [67]

почему вручную??? рар режет на тома, фтп клиент льет на фтп...


 
xayam ©   (2008-09-03 13:59) [68]


> brother ©   (03.09.08 13:53) [67]
> почему вручную??? рар режет на тома, фтп клиент льет на
> фтп...

это как? у меня же нет доступа к папке mysql/data по ftp. и даже если б был, как разархивировать архив на бесплатном хостинге?


 
Anatoly Podgoretsky ©   (2008-09-03 15:16) [69]

> xayam  (03.09.2008 13:59:08)  [68]

И чего тебе дают базу на 1.5 гб на бесплатном хостинге?


 
xayam ©   (2008-09-03 15:24) [70]


> Anatoly Podgoretsky ©   (03.09.08 15:16) [69]
> > xayam  (03.09.2008 13:59:08)  [68]
> И чего тебе дают базу на 1.5 гб на бесплатном хостинге?

угу, 15ГБ дают под все файлы и базы


 
antonn ©   (2008-09-03 15:44) [71]

тока тормозить оно наверное будет неслабо :)

а чего так много? там html в базе чтоли?


 
xayam ©   (2008-09-03 16:00) [72]


> antonn ©   (03.09.08 15:44) [71]
> тока тормозить оно наверное будет неслабо :)
> а чего так много? там html в базе чтоли?

не html нету, только слова для поиска


 
xayam ©   (2008-09-03 16:24) [73]


> antonn ©   (03.09.08 15:44) [71]
> тока тормозить оно наверное будет неслабо :)

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


 
xayam ©   (2008-09-03 18:05) [74]

А скриптом BigDump http://www.ozerov.de/bigdump.php кто-нибудь пользовался? Поможет в моем случае?


 
antonn ©   (2008-09-03 20:57) [75]

я иногда юзаю "Sypex Dumper Lite", посмотри, может подойдет.


 
xayam ©   (2008-09-03 21:10) [76]

там на бесплатном хостинге еще ограничение на размер файла 2МБ. Sypex может сделать дамп в несколько файлов определенного размера? А потом заливать по списку? На http://sypex.net/ написано "многотомные бекапы" . Это то самое?


 
xayam ©   (2008-09-04 11:24) [77]

Администрации сайта: у меня проблема с загрузкой некоторых Ваших xml-файлов в php. Пишу такой код

$dom = new domDocument();
$dom->load($file); //здесь выскакивает warning

вот список всех warning"ов, которые выскакивают - http://xayam.by.ru/Download/warnings.html
Это может быть связано с тем, что Вы неправильно формируете xml-файлы?


 
xayam ©   (2008-09-04 19:19) [78]


> antonn ©   (03.09.08 20:57) [75]
> я иногда юзаю "Sypex Dumper Lite", посмотри, может подойдет.

да по ходу подойдет, только я его переправил наполовину, сделал Backup в несколько файлов (по количеству строк, хотя конечно идеально по размеру файла, но что-то там не получается с ограничением запроса по limit), осталось переписать Restore из этих файлов (будет отбирать все файлы в текущей директории по регулярному выражению).


 
xayam ©   (2008-09-06 23:54) [79]

уф переправил весь скрипт (грамотно sypex написан кстати), как закачаю отпишусь, можно будет искать по сообщения в ветке тоже


 
McSimm ©   (2008-09-07 01:06) [80]


> Это может быть связано с тем, что Вы неправильно формируете
> xml-файлы?


Да. Некоторые файлы xml действительно получались некорректными.

> PCDATA invalid Char value 3
Вот это не понятно. Откуда такие симолы там - просто загадка.

Может вы с кодировками напортачили ? Перекодировали в utf-8, например, а парсить пытаетесь в однобайтной ?



Страницы: 1 2 3 4 5 вся ветка

Текущий архив: 2009.02.15;
Скачать: CL | DM;

Наверх




Память: 0.63 MB
Время: 0.022 c
2-1230585306
AlexF
2008-12-30 00:15
2009.02.15
Разослать почту


13-1122989175
cherrex
2005-08-02 17:26
2009.02.15
Не могу запустить приложение в DELPHI 2005


15-1229778455
Knight
2008-12-20 16:07
2009.02.15
Turbo Delphi... что за шляпа...


3-1210757433
tommy
2008-05-14 13:30
2009.02.15
Что предпочесть Postgresql, MSDE, SQL, MySQL


3-1214981326
Erick
2008-07-02 10:48
2009.02.15
Сортировка строкового поля как числового(D10/FoxPro/ADO)