Поиск:

Ответ в темуСоздание новой темы Создание опроса
> пишем поисковую машину 
:(
    Опции темы
polosatij
Дата 9.10.2008, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 22.2.2004
Где: Stuttgart<-> ;Karlsruhe, Germany

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



был бы признателен, если кто поделился какой-путёвой интермацией, а не первым линком из гоогля..  smile

пасиба  smile

Добавлено через 4 минуты и 1 секунду

http://www.turtle.ru/db/architecture/3_5.html


--------------------
PM   Вверх
fse
Дата 21.10.2008, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Привет. На мой взгляд так далеко непростая задача. Никакой толковой информации не видел по этому в инете, хотя интересовался.
Посему, начал писать с нуля, не сложного поискового робота.
Поделюсь соображениями.
Поисковики знают адреса сайтов, много URL. И для каждой страницы сохраняют её название и текст. Далее, как я понимаю, по запросу пользователя, поисковик ищет наибольшее совпадение текста запроса и в тексте всех страниц. Как я понимаю, это один из самых требовательных процессов... Наверно для ускорения можно придумать систему хеширования запросов. И систему рейтинговости (очередь из наиболее часто востребованных сайтов), чтобы не искать из ВСЕЙ базы данных. Что-то вроде...
Но основной вопрос - ОТКУДА робот знает столько URL?
Из двух источников.
1. Сами авторы регистрируют свои сайты в поисковиках, это выгодно в первую очередь им...
2. Автоматическое сканирование сайтов.
Я писал однажды программу подобную. Жаль инет дорогой, так бы проиндексировал побольше сайтов, интересное занятие...
Программа по сути состояла из трёх частей:
- HTML-парсер, который разделяет контент и теги со всеми ссылками (внешними и внутренне-сайтовыми)
- Сетевая часть (скачка HTML-содержимого по его URL)
- Логика программы: Вводится начальный адрес. Эта страница анализируется, внешние ссылки добавляются в очередь анализа, анализуются внутренние ссылки на некоторую глубину, переход к следующему сайту в очереди. И цикл повторяется.

По многим наблюдениям, все поисковики работают именно так!
Кстати... Подобный "домашний" поисковик может стать настоящим подарком спамера... Т.к. может и ящики находить... Что печально...
PM MAIL   Вверх
polosatij
Дата 1.11.2008, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 22.2.2004
Где: Stuttgart<-> ;Karlsruhe, Germany

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





fse, то, что ты описал всё о общих чертах.. я не перечёркиваю всю, даже грю спасибА за поддержку темы  smile 

по сути дела, тут "всего одна" трабла => смысловой поиск по системе и поиск с коректировкой.. это меня больше всего интересует  smile 
индескирование страниц просто сделать.. другое, если юзер наберёт "машинЫ", вместо "машина", нужно вытащить, и машина, и машины, и "машинёшки".. вот тут-то и начинается трабла по моему.. нужно писать некий парсер на какой-то язык и, возможно, плясать не только от граматики...  smile 


--------------------
PM   Вверх
MaXL
Дата 3.11.2008, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Developer
**


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

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



Недавно передо мной встала такая же задача. Нужно проиндексировать как можно сайтов. И тоже проблема с грамматикой. Я вот думаю может к этому как-то можно расстояние Левенштейна прикрутить, но как пока не придумал. Не считать же при каждом поиске для каждого слова. Да и хранить такие объёмы данных не получиться.


--------------------
MaXL
PM MAIL   Вверх
maxdiver
Дата 30.11.2008, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ну могу предложить такой вариант. Некто yandex.ru вроде как регулярно организует такие мероприятия (по-моему, даже есть какие-то "школы"), на которых рассказывает о своей поисковой системе, ну вероятно чем "дальше" пройдёшь по ихним мероприятиям - тем больше узнаешь smile
Я как-то случайно попал на подобное, и было весьма интересно послушать их алгоритмы, даже в общих чертах всё понятно было, но, к сожалению, я не смогу здесь восстановить хотя бы примерно их алгоритмы.

Ну ладно, попробую. Примерно такое вот:
По каждому слову есть список сайтов, в которых оно присутствует. Эти гигантские списки распределены между несколькими компами во внутренней сети поисковика, разумеется, там хитрая система над-серверов, которые кэшируют таблички и уменьшают нагрузку на сеть.
Далее, поступает запрос. Он обрабатывается, что-то типа того, что все слова приводятся в "нормальную" форму, предлоги выкидываются. Затем по каждому слову отдельно выполняется поиск (фактически - просто в сетку пускается запрос по такому-то слову, в ответ приходит табличка с сайтами по этому слову, естественно, не всеми, а что-то типа top-200). Затем значит обратно возвращается результат - куча таких списков. Их надо умно помёржить, с учётом структуры исходного запроса. По этому поводу было сказано почти ничего, я думаю, здесь много всяких нахаченных алгоритмов. Ну и при мёрже, да и при выборе top-200, надо уметь сравнивать два сайта. Система такая. У каждого сайта (конкретной страницы) есть перечень атрибутов, сейчас в яндексе их уже порядка сотни, и эти атрибуты - коэффициенты страницы, конкретные её характеристики. Затем по хитрой формулке с другими коэффициентами C1, ..., Cn эти атрибуты объединяются в одно число - общая характеристика страницы, по которой собственно они и сортятся. Ну а сама формулка - судя по всему, даже не полином, ну короче что-то достаточно хитрое и хаченное smile Ну а самое интересное - откуда берутся коэффициенты C1, ..., Cn. Сидят сотни челов, которые занимаются следующей интересной работой: они вбивают в поисковик запросы, смотрят, что им выдаёт поисковик, и потом проверяют, насколько хороший порядок резов получился. Фактически - они сами расставляют рейтинги выданным страницам. После всего этого коэффициенты C1, ..., Cn подбираются автоматически, хитрой программой, в соответствии с выставленными человекоботами рейтингами.

Вот примерно так smile
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




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


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

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