Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поисковик, Как сделать? 
:(
    Опции темы
dm9
Дата 2.4.2005, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 1
Всего: 137



Не, action - он для других целей создан smile

Это так просто не делается. Поищи по Яндексу, там должна быть страничка о сотрудничестве. То есть где описывается, как поставить их поиск себе. И там подробные инструкции. Разумеется, твой сайт должен быть предварительно зарегистрирован в их поисковой системе.

Поищи сама, если не найдёшь - я завтра гляну.

PM MAIL ICQ   Вверх
Urod
Дата 2.4.2005, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 376
Регистрация: 10.4.2004
Где: Москва

Репутация: нет
Всего: -1



dm9
О, как круто! Думала, поиск сдклать, потом к остальным страничкам приступить. Мне поку и регистировать нечего smile
Т.е. когда сайт будет полностью готов, его надо будет зарегистировать в Ya и поискать условия сотрудничества. Понятно smile
А в Гугле тоже надо будет через сотрудничество поиск ставить? Или поиск можно будет, как я сейчас сделала: просто скопировать себе в код?
PS Представляю, как я тебя повеселила smile smile
PM MAIL   Вверх
dm9
Дата 2.4.2005, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 1
Всего: 137



Да хз, на самом деле smile

Я этим никогда сам не занимался. По логике, всегда надо спрашиваться, просто так пользоваться чужим поиском не получится smile Спроси Админа насчёт Гугла smile

Вот для Яндекса:
http://www.yandex.ru/info/addyandex4.html
http://www.yandex.ru/info/addyandex.html

PM MAIL ICQ   Вверх
Urod
Дата 2.4.2005, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 376
Регистрация: 10.4.2004
Где: Москва

Репутация: нет
Всего: -1



dm9 Эээ, что-то я запуталась: такой поиск будет искать НА МОЕМ сайте различные СЛОВА, которые могут быть расположены на разных странцых моего сайта, а САМ мой сайт в Инернете. Правильно?
Т.е. если пользователь зайдет на мой сайт (на главную страницу), и не смотря весь мой сайт захочет посмотреть, например, на цены. Он конет в поиск слово "цены", и такой поиск отправит пользователя на нужную страницу моего сайта. Хочу так. smile И поиск, о котором мы говорили, подходит для этих целей. Да?
PM MAIL   Вверх
dm9
Дата 2.4.2005, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 1
Всего: 137



Только советую зарегистрировать сайт как можно раньше. Но, разумеется, после того, как на нём появится контент. Время индексирования новых сайтов немаленькое - пара недель, насколько я знаю.

Добавлено @ 19:34
Цитата(Urod @ 2.4.2005, 20:31)
dm9 Эээ, что-то я запуталась: такой поиск будет искать НА МОЕМ сайте различные СЛОВА, которые могут быть расположены на разных странцых моего сайта, а САМ мой сайт в Инернете. Правильно?
Т.е. если пользователь зайдет на мой сайт (на главную страницу), и не смотря весь мой сайт захочет посмотреть, например, на цены. Он конет в поиск слово "цены", и такой поиск отправит пользователя на нужную страницу моего сайта. Хочу так.  И поиск, о котором мы говорили, подходит для этих целей. Да?


Поиск, который предлагает Яндекс на страницах, которые я тебе написал выше, это поиск НЕ ТВОЕГО сайта, а ПО ТВОЕМУ сайту. То есть ты введёшь "цены", и на экране появятся ссылки ТОЛЬКО на твой сайт - на те страницы, где есть слово "цены".

PM MAIL ICQ   Вверх
dm9
Дата 2.4.2005, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 1
Всего: 137



Вот, смотри пример:
http://dm9.ru/vingrad/examples/html/yandsearch/
Это поиск по Винграду.

Ссылка была заменена, старая ссылка не рабочая


Это сообщение отредактировал(а) dm9 - 6.5.2005, 00:56
PM MAIL ICQ   Вверх
Urod
Дата 2.4.2005, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 376
Регистрация: 10.4.2004
Где: Москва

Репутация: нет
Всего: -1



Цитата(dm9 @ 2.4.2005, 19:45)
Вот, смотри пример:
http://dm9.ru/search.html
Это поиск по Винграду.

Дубль три? smile
Поняла, Спасибо огромное!
PM MAIL   Вверх
dm9
Дата 2.4.2005, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 1
Всего: 137



smile

PM MAIL ICQ   Вверх
Urod
Дата 2.4.2005, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 376
Регистрация: 10.4.2004
Где: Москва

Репутация: нет
Всего: -1



К сожалению, не могу тебе добавить немного репутации (формально smile ), но, думаю, модераторы или ты сам smile (кажется, у тебя есть на это полномочия) сделают это. Очень ценный ответ! smile
PM MAIL   Вверх
Гость_Сергей
Дата 3.1.2006, 03:52 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Поисковый механизм для вашего сайта на PHP
Текст скриптов и тестовых документов можно взять на сайте "ПРОГРАММЫ ДЛЯ БИЗНЕСА" Скачать исходные тексты>>>
Представьте себе массу HTML документов лежащих в подкаталоге. Пускай ,например , это будет каталог договоров вашей организации , перегнанный в html формат и лежащий на интранет сервере вашей организации. Теперь представьте себе что договора раскиданы по папкам. Папки имеют вложенные папки ... Как в этом всем разобраться - а разобравшись не потеряться опять ?
Очень просто ;-) Создайте поисковую систему по вашему сайту..
В этой статье пойдет речь о том как создать систему поиска по HTML документам на интранет - сайте вашей организации или ( или веб - сайте).
Для начала о принципах работы системы.
Каждый HTML документ, который включается в такую систему, должен иметь специальные мета - теги. Выбор их наименования зависит только от вас, но желательно использовать нестандартные - для обеспечения возможности корректировки ваших HTML документов стандартными средствами - например FrontPage 2000. В принципе это требование не есть обязательным - так как система поиска будет реагировать и на комментарии в тексте документа. Однако удобнее все-таки применять стандартные средства создания мета-тегов.
Итак с чего же начать ? Начать можно с того что ничего не меняя в структуре вашей информации (месторасположении ваших файлов) , добавить в ваши html-документы следующие мета - теги:
<html><head>
<meta docsort="Договор">
<meta docname="Договор о совместной деятельности № 126 от 27.05.2001?.">
..Тут идут другие теги......
</head>
Итак вы видите следующие мета - теги (еще раз напомню что выбор их имени полностью зависит от вас - но если вы хотите чтобы данная система поиска заработала как есть то примените вышеприведенные)
* docname Здесь находиться описание вашего документа. Фактически поиск идет по этому полю так что надо быть внимательным заполняя его. (Хоть можно ввести и дополнительное поле поиска по ключевым словам ) )
* doctype - Вид документа . Здесь вы можете написать что-то вроде кодифицированного вами типа документа например "Договор" , "Приложение", "Контракт" ... По этому полю также ведется поиск (перед решающим сравнением эти два поля "склеиваются" через пробел в одну строку)
* Кроме этих вы можете задействовать в поиске и другие мета теги.
Структура поисковой системы выглядит следующим образом :
* Форма поиска --> Get запрос --> программа на PHP выводящая результаты поиска в виде HTML документа.
В качестве связующего звена при поиске используеться механизм GET запроса. При котором строка поиска будет передана в строке адреса html документа. Форма для поиска может быть самой простой , например :
<html>
<body>
<form name="main" action="find.php" method="GET">
<input size="25" name="s" value="php">
<input type=submit value="Поиск">
</form>

</body>
</html>

Внешний вид формы поиска
Начало формы

Конец формы

После того так вы нажимаете на кнопку "Поиск" переменная "s" через GET запрос отправляется в программу поиска написанную на PHP. В этой программе используеться "готовый" класс , в котором собственно и сосредоточена вся функциональность поисковой системы.
Приведем сокращенный текст класса поисковой системы (который удобно разместить в отдельном файле вместе с функциями использующимися в этом классе).
//Исходный текст можно Скачать на сайте "Программы для Бизнеса".
class search{
//Переменные класса пропущены см. в архиве
function close_search()//Пропущена см. в архиве

//====Рекурсивный проход по каталогу====
function return_htmls($s_in_dir,$what_meta_name,$in_meta_name)
{
//Исключаем служебные каталоги FrontPage
if (preg_match("/_vti[.]*/i",$s_in_dir)){return;}

if ($dir_handle = @opendir($s_in_dir))
{
while($file = readdir($dir_handle))
{

//Рекурсивный проход по директориям если текущий файл - это директория
if ($file!=".." && $file!="." && is_dir($file))
{
$this->return_htmls($s_in_dir."/".$file,$what_meta_name,$in_meta_name);
}

//Проход по *.ht* файлам в одной директории
if (!is_dir($file) && $file!=".." && $file!="." && preg_match("/[.]*\.ht[.]*/i",$file))
{

// Получаем мета-тег docsort
// Функция cyr_up (см. В архиве ) служит для приведения
// маленьких символов кириллицы к прописным и для
// замены совпадающих символов кириллицы и латинского алфавита
// на латинские прописные
$str_meta_sort=cyr_up(GetMeta("docsort",$s_in_dir."/".$file));

//Если задан поиск по мета-тегам (иначе не будет поиска)
//Введено для возможности расширения функций программы
if ($in_meta_name){
//Имя без типа - для вывода
$str_meta_name=cyr_up(GetMeta("docname",$s_in_dir."/".$file));

//Включаем тип документа - для поиска
$str_meta_name1=$str_meta_name." ".$str_meta_sort;

//Создаем массив токенов (слов) из входного запроса (переменной формы)
$token_arr=split('[+ ]',$what_meta_name);

//Убиваем повторяющиеся токены
$token_arr=array_keys(array_count_values($token_arr));

//Количество присутствующих в строке токенов
$tok_founded=0;

//Всего токенов найдено
$all_founded=0;


//Поиск
for ($j=0;$j<count($token_arr);$j++)
{
if ($all_founded+=preg_match_all("/".cyr_up($token_arr[$j])."/i",cyr_up($str_meta_name1),$matches_arr))
$tok_founded++;
}

//Вывод токенов
if ($tok_founded==count($token_arr) && strlen(trim($what_meta_name))!=0 && strlen(trim($str_meta_name))!=0){

//Тут выделяем токены красным цветом
for ($j=0;$j<count($token_arr);$j++)
{
$str_meta_name=preg_replace("/(".cyr_up($token_arr[$j]).")/i","<font color=\"red\">\\1</font>",cyr_up($str_meta_name));
$str_meta_sort=preg_replace("/(".cyr_up($token_arr[$j]).")/i","<font color=\"red\">\\1</font>",cyr_up($str_meta_sort));
}
echo "<li><p class=\"B\"><a class=\"n\" href=\"".$s_in_dir."/".$file."\">/$this->count.<b>$str_meta_sort</b> \"$str_meta_name\" /$all_founded/</a></li><br></p>\n";
$this->found_in_metaname++;
$this->count++;
}

}


}
}
closedir($dir_handle);
}

}


//end class
}
?>
<html>
<link rel="stylesheet" type="text/css" href="css/sm.css">
<body>
<?
$qu = getenv("QUERY_STRING");parse_str(substr($qu,0,100));
if (!isset($s)){$s="";};
//echo ();

$s=preg_replace("/[\\041-\\055\/]*/","",$s);
$s=preg_replace("/\./","\\\056",$s);


$show=new search;
$show->count=1;
$show->found_in_metaname=0;
$show->return_htmls(".",$s,1);
$show->close_search();
?>
</body>
</html>
Для перебора всех файлов в каталоге класса return_htmls(".",$s,1); В качестве параметров ей передаеться имя начального каталога (с которого начинать обход) , поисковая строка и флаг (поиск в мета - тегах) который должен быть равен 1 - для поиска в мета тегах.
* Алгоритм работы функции следующий:
Функция проходит текущий каталог и если находит файл то берет его мета- теги и ищет в них ключевые слова. Поиск ведеться с помощью RegExp -ов следующим кодом:
//Поиск
for ($j=0;$j<count($token_arr);$j++)
{
if ($all_founded+=preg_match_all("/".cyr_up($token_arr[$j])."/i",cyr_up($str_meta_name1),$matches_arr))
$tok_founded++;
}
Функция preg_match_all производит Perl-совместимый полный поиск в мета - тегах документа ( $str_meta_name1)
* Если слова найдены то выводит производиться "подсветка" мета-тегов с помощью :
for ($j=0;$j<count($token_arr);$j++)
{
$str_meta_name=preg_replace("/(".cyr_up($token_arr[$j]).")/i","<font color=\"red\">\\1</font>",cyr_up($str_meta_name));
$str_meta_sort=preg_replace("/(".cyr_up($token_arr[$j]).")/i","<font color=\"red\">\\1</font>",cyr_up($str_meta_sort));
}
Используется функция функция замены по регулярному выражению preg_replace () которая производит замену найденых токенов на них же только выделенных красным цветом (<font color=\"red\">\\1</font>)
* и вывод в html ссылки на документ. В конце выводиться количество найденых токенов в мета - тегах документа.
* Если же файл являеться директорией то функция вызывает саму себя но в качестве параметров передает уже новое имя директории + флаги поиска :
if ($file!=".." && $file!="." && is_dir($file))
{
$this->return_htmls($s_in_dir."/".$file,$what_meta_name,$in_meta_name);
}
* Цикл продолжается пока не будут пройдены все файлы и каталоги указанные при вызове функции.
Поиск ведеться по нескольким словам. Для разбиения поисковой фразы на токены (слова) применяется следующий код:
* //Создаем массив токенов (слов) из входного запроса (переменной формы)
$token_arr=split('[+ ]',$what_meta_name);
* //Убиваем повторяющиеся токены
$token_arr=array_keys(array_count_values($token_arr));
Повторяющиеся токены забираются как для того чтобы ускорить поиск , -так и для того чтобы не было ошибок при выделении токенов в результатах поиска.
* Ссылки по теме:
- Текст скриптов из данной статьи можно взять в архиве сайта Скачать >>>
- Статьи по PHP на сервере "Программы для бизнеса" Перейти >>>
- Раздел "ИнтраNET" на сервере "Программы для бизнеса" Перейти >>>
- Раздел "Программирование" на сервере "Программы для бизнеса" Перейти >>>
В конце статьи хочется отметить что программа работает как на Windows так и на UNIX , благодаря применению функций приведения мета-тегов и строки запроса к верхнему регистру. Кроме того из поиска исключаться стандартные каталоги FrontPage 2000 (с помощью: if (preg_match("/_vti[.]*/i",$s_in_dir)){return;} ).

Сойдет?
еще поищи на www.woweb.ru[color=blue][/color]


  Вверх
DrNemo
Дата 9.1.2006, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 7.12.2005
Где: Не пейте ракетное топливо! :-)

Репутация: нет
Всего: 1



Цитата(Urod @ 2.4.2005, 18:52 Найти цитируемый пост)

(поправила только FORM name=web action=http://www.yandex.ru/yandsearch method=get> на название своего сайта)


брррррррррр....... что-то не понял, ты поправила значение action???????????????????
Пардон, а куда он теперь данные посылает для их дольнейшей обработки, знаешь? к тебе на сайт, а должен? на яндех, вот он у тебя и не работает.

И еще ты уверина что там метод , GET а не POST?(странно как-то)
--------------------
На свете есть только две вещи которые сносят башню - космос и женщины (К.Ю.Бунин)Самый мастдаевский сакс в том, что рулезные фичи глючат :))
PM MAIL WWW ICQ   Вверх
R.M.
Дата 16.1.2006, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


Профиль
Группа: Участник
Сообщений: 2164
Регистрация: 8.6.2005
Где: Питер

Репутация: 1
Всего: 30



Urod
Ты просто код с яндекса скопировала или нашла раздел где предлогают поставить их поиск к себе на сайт?

Насчёт гугля незнаю, но мне кажется ставить их логотип или нет - твоё дело - был <img> нет <img>
Добавлено @ 10:34
DrNemo
Зайди на яндекс и поищи штонить - он через гет ищет


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
kpk17
Дата 17.9.2006, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 10.9.2006

Репутация: нет
Всего: нет



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

подскажите как сделать это. очень нужно. что почитать.как сделать как можно легче smile 

PM MAIL   Вверх
R.M.
Дата 18.9.2006, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


Профиль
Группа: Участник
Сообщений: 2164
Регистрация: 8.6.2005
Где: Питер

Репутация: 1
Всего: 30



kpk17, пиши свой, будет у тебя открываться, а я ндексовский на яндексе будет как не крути


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
kpk17
Дата 18.9.2006, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 10.9.2006

Репутация: нет
Всего: нет



если не секрет то как?

PM MAIL   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Продвижение и оптимизация сайтов | Следующая тема »


 




[ Время генерации скрипта: 0.1283 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.