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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.61 MB
Время: 0.012 c
15-1229653234
XentaAbsenta
2008-12-19 05:20
2009.02.15
Виртуальные статические методы


2-1231149365
Iriss
2009-01-05 12:56
2009.02.15
не отображается в трее


2-1230704135
b@v
2008-12-31 09:15
2009.02.15
ConnectionString


15-1229754617
SPeller
2008-12-20 09:30
2009.02.15
Когда омона и милиции столько же, сколько митингующих


2-1231171332
sh1k4r1
2009-01-05 19:02
2009.02.15
Excel + Delphi





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский