W3search

Статус
Закрыто для дальнейших ответов.

deMone

Злой страшный дядька
Регистрация
30.01.2006
Сообщения
937
Крайне тяжело. Не хочет он декодировать. Нашёл в сети кучу методов, но ни один не работает правильно. Подчас получается так: часть данных (как правило, начало кода страницы) получается верным, а дальше как будто что-то сбивается и идут кракозябы. Лекарства пока не нашёл...
 

faust

Well-Known Member
Регистрация
31.01.2006
Сообщения
115
Возможно вопрос не в тему, но... Что бы сжатие работало одной строчкой:

ob_start("ob_gzhandler");

Нужно ставить специальный модуль к апачу?

Я почему спрашиваю, невозможно проверить сжимаеться страница или нет, работаешь слепую практически. Да и информации от А до Я по теме нету, всё обрывисто и кусками. На форуме Пшпклаба.ру чел пытался узнать всё, но та тема так и заглохла...
 

deMone

Злой страшный дядька
Регистрация
30.01.2006
Сообщения
937
Вообще, функции ob_* доступны по-умолчанию. Но вот функция ob_gzhandler() использует в работе библиотеку zlib, которая по-умочанию при установке отключена. Чтобы она заработала нужно компилировать PHP с ключом --with-zlib[=ПУТЬ_К_БИБЛИОТЕКЕ]
 

faust

Well-Known Member
Регистрация
31.01.2006
Сообщения
115
А по gzip в целом, где можно подробно и на русском почитать?
 

faust

Well-Known Member
Регистрация
31.01.2006
Сообщения
115
Ну а как собственно проверить сжимаеться страница или нет? Кроме строчки gzip в хедере страницы.
 

deMone

Злой страшный дядька
Регистрация
30.01.2006
Сообщения
937
Код полученной страницы должен начинаться со стандартного заголовка GZip: \x1f\x8b
 

faust

Well-Known Member
Регистрация
31.01.2006
Сообщения
115
Ну ладно, и на том спасибо.
 

faust

Well-Known Member
Регистрация
31.01.2006
Сообщения
115
Вот еще предложение по поиску. В результах выводить всего лишь заголовок страницы и всё. Было бы хорошо добавить туда кусок текста где замечено искомое слово (как в обычных поисковиках).

+ Выводить последние запросы (причем неважно когда сделали последний запрос 10 минут назад или 24 часа назад) но это уже, так, если нечего будет делать.
 

deMone

Злой страшный дядька
Регистрация
30.01.2006
Сообщения
937
Было бы хорошо добавить туда кусок текста где замечено искомое слово (как в обычных поисковиках).
Думал над этим. Дело в том, что робот при индексации удаляет не только HTML-теги и всё такое, но и лишние данные из текста (в частности, знаки препинания), повторяющиеся слова, а также слова, длина которых меньше трёх символов.

В результате из текста:
Если Вы обнаружили ошибку в проекте, у Вас есть замечания по его работе или предложения по улучшению скрипта, не поленитесь и зарегистрируйтесь в BugTracker-е проекта, где Вы сможете быстро связаться с автором проекта и сообщить ему всё необходимое.
получится что-то вроде:
если обнаружили ошибку проекте вас есть замечания его работе или предложения улучшению скрипта поленитесь зарегистрируйтесь где сможете быстро связаться авторо сообщить ему всё необходимое
Для нас с Вами абракадабра, а для поиска — самое оно. Ничего лишнего, ровно то, что нужно.

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

Тут два варианта:
1. Сохранять в ещё одно поле необработанный текст.
2. При поиске обращаться к конкретной (найденной) странице, анализировать её и получать необходимый текст

Минусы есть у обоих вариантов:
1. На больших объёмах данных приведёт к быстрому расходу свободного места, отведённого для БД.

Многие динамические сайты сейчас генерируют очень много страниц при сравнительно небольших объёмых информации (у меня самого был сайт, на котором было всего около сотни статей, но который при этом состоял из ~20000 динамически создаваемых страниц).

2. Дело в том, что обращение к странице идёт через HTTP-протокол, а не через файлы (ведь, сами понимаете, если страница имеет адрес http://www.site.ru/about/me, то это вовсе не значит, что на диске существует папка «about», а в ней — файл «me»). А он (HTTP-протокол) медленный.
К тому же страницу нужно обработать (то есть ещё раз удалить теги, проанализировать текст, найти искомые слова). Если поиск искомых слов в БД происходит мгновенно (СУБД так устроены, чтобы искать максимально быстро), то PHP так быстро работать не умеет.
И вот вышеперечисленное (скачивание и анализ) нужно будет применить к каждому результату поиска. То есть, если выводится 10 результатов на страницу, то это лишние 5-6 секунд работы скрипта, что неприемлемо.

Из обоих вариантов (если бы приходилось выбирать) я бы склонился к первому, потому что время работы скрипта для меня на первом месте. Однако пока я эту функцию внедрять не буду.

Что до последних запросов, до 98% пользователей это не нужно и неинтересно. Кому интересно, что искал Вася Пупкин на сайте двое суток назад?
 

faust

Well-Known Member
Регистрация
31.01.2006
Сообщения
115
Хм... Я вот что подумал... Возможно не парсить каждую страницу а ставить возле результатов ссылку "Найденные слова"... И потом уже подсвечивать слова? Был бы приемлемый компромисс. Что скажете?

Насчет запросов, не на всех сайтах тусуються Васи Пупкины :) Если сайт специализированной тематики то было бы интересно узнать что ищут другие люди... Но это как я уже заметил, вторичное...
 

deMone

Злой страшный дядька
Регистрация
30.01.2006
Сообщения
937
Вариант, конечно, но тогда проще автору сайта сделать подсветку найденных слов через ob_* функции.
 

GreatX

Новичок
Регистрация
04.10.2006
Сообщения
1
Спасибо за скрипт.

Поставил скрипт версии 1.03, выполнил запрос, прописал в cron и ничего не индексирует.
Параметры доступа к базе поставил правильно.
Сайт с поиском здесь - http://www.novosti.oneway4you.com/search.php

Как сделать запрос к крону?
Я делал так - команда для запуска ***** /home/мойюзернайм/public_html/novosti/w3search/w3s_inc/robot.php

В таблице одна запись
Код:
ё¶q‘  ©Л¶¬  nЃўн‡¦  …±  wТf  —w№”  ээ  ѕiЂk...

Что может быть не так?

Ваш сайт с информацией по установке открывается с десятого раза.
 

deMone

Злой страшный дядька
Регистрация
30.01.2006
Сообщения
937
Хм. У всех открывается нормально, а у Вас с десятого раза?

Судя по содержимому записи, Ваш сайт передаёт GZip-данные, которые W3Search не воспринимает. Что доказывается получением в заголовке страницы записи mod_gzip/1.3.26.1a. Отключите сжатие и переиндексируйте сайт, тогда заработает
 

aleksandrx

Новичок
Регистрация
17.02.2008
Сообщения
1
Здравствуйте.
Почему при попытке поиска чисел без букв выдается сообщение Запрос пуст. Так задумано или я что то не так делаю? Спасибо.
 

ZitosS_32

Совесть
Регистрация
12.03.2006
Сообщения
852
aleksandrx, как я помню, в скрипте используются модификаторы вывода, или как их там
%s строка
%u числа от... до
%d целое число

Возможно при выводе там стоит %s, а поступает не строка, а число, и поэтому поис не осуществляется... Это один из вариантов
 

Andrew_O

Новичок
Регистрация
18.05.2009
Сообщения
1
deMone, поставил и настроил как описано в документации, а после ввода искомого слова и нажатия кнопки "Поиск" - выдаёт типа ничего не найдено
что может быть такое?
 
Статус
Закрыто для дальнейших ответов.
Верх Низ