| |
|
|
| | Здравствуйте,
Нужно создать поиск по сайту. Всё стандартно - PHP, MySQL. Нужно индексирование так как материал представлен в разной форме (и базы и хтмл-страницы).
Проблемы поиска в MySQL по уже готовому индексу нет - материала в сети много, в том числе и на этом форуме. А вот как создать сам индекс - материала не хватает. Гугль не колется. На этом сайте нашёл только тут - http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=18748 пост kolobokk (07.06.2006 в 10:46).
Загадочное "необходимо еще будет придумать автоматический обход ссылок по сайту и пункты со 2 по 4 поместить в функцию перехода по ссылкам".
Так как же это сделать? Хотя бы в самом элементарном виде. | |
| |
|
|
| |
|
|
| |
для: Qiao
(02.09.2007 в 10:20)
| | | Вы хотите индексировать сайт? Может удобнее и проще будет воспользоваться поиском по СУБД MySQL - она предоставляет много гибких механизмов поиска? | |
| |
|
|
| |
|
|
| |
для: cheops
(02.09.2007 в 11:55)
| | | Да, я хочу воспользоваться поиском по MySQL. Но чтобы по нему искать нужно весь материал запихнуть (т.е. проиндексировать) в одну таблицу.
Проблема в том что сайт состоит из множества разнородных MySQL-таблиц, много единичных html страниц. То есть материал очень разнородный. Без индексации тут не обойдёшся. | |
| |
|
|
| |
|
|
| |
для: Qiao
(02.09.2007 в 12:14)
| | | Хм... вообще можно искать по нескольким таблицам, например, объединяя результаты поиска при помощи оператора UNION. | |
| |
|
|
| |
|
|
| |
для: cheops
(02.09.2007 в 15:00)
| | | Проблема в том, что материал разный - в том числе и не в базах данных. А тот что в базах - он настолько разбит по струтуре, что обьединить его в один запрос будет очень нелегко (имеется ввиду ссылки все разнородные).
Вопрос не про поиск по сайту, а про индексирование сайта. Есть ли какие стандартные пути (php - MySQL)? | |
| |
|
|
| |
|
|
| |
для: Qiao
(02.09.2007 в 18:46)
| | | Видимо, придётся, как всегда, переписывать скрипты - и уже предусмотреть унифицированное хранение информации в таблице. | |
| |
|
|
| |
|
|
| |
для: neudor
(03.09.2007 в 08:45)
| | | Нет - переписывать там информацию - легче застрелиться. Придётся возиться не со скриптами а с самой информацией. На ум почему-то сразу приходит фраза "г..но месить" ))
Я уже надыбал скрипт робота-индексатора и сейчас пытаюсь его прочесть чтобы понять. Объём там приличный, буду долго с ним возиться.
Вобщем индексирование сайта это не такая уж тривиальная задача, как мне сначала казалось. Но вполне решаемая. В крайнем случае готовый скрипт влепить )) Но это уже "не то..." | |
| |
|
|
| |
|
|
| |
для: Qiao
(03.09.2007 в 10:20)
| | | Очень любопытно глянуть на "скрипт робота-индексатора". Может поделитесь файлом? | |
| |
|
|
| |
|
|
| |
для: Futurer
(03.09.2007 в 18:30)
| | | http://evgeny.neverov.name/portfolio/w3search/installation/
Но я переоценил свои возможности. Уж очень сложно для меня (опыт маленький). Как только я его сяду читать, голова сразу кружиться. А в центре вообще муть пошла - ни одной знакомой функции.
Так что если кто будет разбирать, вычлините и скиньте сюда, пожалуйста, ядро скрипта индексирования. Те заветные пять строчек которые и обходят сайт. Уже просто ради интереса. Создать свой робот индексирования в ближайшее время мне явно не светит )) | |
| |
|
|
| |
|
|
| |
для: Qiao
(04.09.2007 в 13:36)
| | | Я скачал, на досуге гляну... но при первом просмотре захотелось самому написать что-то подобное, но не такое громоздкое. | |
| |
|
|
| |
|
|
| |
для: Qiao
(04.09.2007 в 13:36)
| | | > Те заветные пять строчек которые и обходят сайт
Да это ерунда... Тут "http://softtime.ru/forum/read.php?id_forum=1&id_theme=28653" когда-то писал товарищу нечто похожее.. могу выслать, думаю, он сильно не обидится).
( только найти бы его еще... )
[off] Кстати, как тересно перечитывать старые темы... Еще тересно, как всё вспоминается в нужный момент, когда тему найти нужно... Кто, что говорил.. Год назад, практически, дело было, а я помню, что говорил там "паука писать" )) [/off]
Другое дело как написать нечто, "аля PR".
UPD: Скрипт нашёл. Но, чессказать, я думал, он поинтересней.. Если вообще ничего не понятно, "пять" строчек можно оттуда глянуть.. Подправить чучудь - работать будет, но для поискового робота маловато будет) | |
| |
|
|
| |
|
|
| |
для: kasmanaft
(04.09.2007 в 14:51)
| | | Мне очень интересен принцип работы скрипта-индексатора. Насколько я понял дело обстоит так:
Скрипт заходит на главную -- берёт все ссылки на данный сайт -- заходит на эти страницы и так до конца. Обрабатывает текст каждой страницы на которую он зашёл (удаляет ненужное) и запихивает всё в базу/файл. Так? Это и есть "паук"? Или другой вариант - скрипт может сразу брать все старницы сайта и затем с каждой работает.
Получается эти пять строчек:
1. Зайти на главную
2. Взять текст страницы
3. Взять ссылки
4. Перейти по ссылкам
Что-то вроде этого. Или если сразу, то
1. Взять все урлы сайта
2. Обойти каждый, забирая на нём текст
Вот очень хотелось бы взглянуть на код этих строчек. Из них понятно только №2 -- file_get_contents().
Просто я до этого работал с пхп только с базами и строчками и то очень немного, поэтому сейчас в данной плоскости испытываю трудности. А если пойму ядро, то от него отталкиваться будет намного легче чем всё подряд перебирать. | |
| |
|
|
| |
|
|
| |
для: Qiao
(04.09.2007 в 20:31)
| | | > 1. Взять все урлы сайта
Ну это врядли выйдет...
Суть Вы поняли привильно:
1. получаем код какой-нить страницы сайта (необязательно главной) с помощью сокетов. Сморим на Content-Type из ответа сервера: text/*** - идем дальше. (сокеты - потому что file.zip тоже может быть html страницой, расширения может вовсе не быть).
2. запомнить куда-нить md5 (и посмотреть не были ли мы тут уже). Теги все лишние поудалять. Ссылки занести куда-нибудь в БД (они могут быть и относительными, это надо учесть). Потом к каждой из них применяем (1). Не забыть запомнить текст и ссылку, по которой его можно найти.
И так до опупения) | |
| |
|
|
| |
|
|
| |
для: kasmanaft
(04.09.2007 в 22:02)
| | | Спасибо, сейчас хоть есть слова по которым гугль пробивать. Я вот еще по данным ссылкам вышел сюда - http://softtime.ru/forum/read.php?id_forum=1&id_theme=26737&page=1. Тут вроде тоже паук есть.
А Ваш паук (который для подсчёта обёма) отличается от этого (в приведённой ссылке)? Если отличается, скиньте его, пожалуйста, мне на qiaojiao(a)yandex.ru (если найдёте, конечно). Чисто для образовательных целей. | |
| |
|
|
| |
|
|
| |
для: Qiao
(05.09.2007 в 06:42)
| | | > А Ваш паук (который для подсчёта обёма)
Вобщем-то он не совсем мой..
> Я вот еще по данным ссылкам вышел сюда...
В этой теме было первое "задание" того чела... ЯR ему там вроде помог, скрипт должен быть, по идее, рабочим.
В той теме, где я засветился ( =] ), сначала скрипт писал тоже ЯR.. что-то у него незаладилось, по просьбе ТС я взял скрипт ЯR и немного подправил. Не помню точно на сколько "немного", но вообще скрипты должны быть похожи... Счас вышлю.. | |
| |
|
|