Поисковые алгоритмы и методы краулинга с логической точки зрения

T
На сайте с 31.12.2008
Offline
1
3358

Подскажите, пожалуйста, видели ли Вы где-нибудь какие-либо статьи на тему поисковых алгоритмов, методов краулинга, способов хранения накопленной информации с логической точки зрения.

То есть конкретно интересует логическая составляющая поиска

- как должен ходить бот, находя на странице новые ссылки(переходить на них сразу, либо искать не был ли он там ранее)

- в каком виде хранить информацию (то есть именно построение наиболее оптимальной файловой структуры)

- как обрабатывать накопленную информацию, дабы максимально оптимизировать её для выдачи (то есть понятное дело, что при вводе запроса не стоит проводить поиск по терабайтным бд)

Прежде всего интересует сама методика ссылочного ранжирования, не в смысле определения авторитетности ресурса, а в смысле логического и физического представления модели связей между интернет-ресусами(то есть что на что ссылается). Самое простое логическое представление, которое приходит в голову это обычная матрица. Но хотелось бы какой то конкретики и информации по физической реализации этого.

Быть может встречал кто-либо подобную информацию на русском ? (с техническим английским туговато)

Nick84
На сайте с 10.05.2006
Offline
55
#1

Изучи готовые скрипты "поисковых систем", много интересного с них можно подчерпнуть

vitali_y
На сайте с 23.05.2007
Offline
33
#2

"Самое простое логическое представление, которое приходит в голову это обычная матрица."

вероятно очень большая матрица получится с лишними ничего незначащими элементами :)

нужно ужимать

ETNO
На сайте с 16.06.2008
Offline
117
#3

я недавно изучал hits http://fleek.org/hits-algoritm-ranzhirovaniya/

там в конце есть ссылка на скачивание одной презентации - перевода с английского источника. Возможно это то, что вам нужно

Wordpress тема для заработка на партнерках (http://themeforest.net/item/rehub-directory-shop-coupon-affiliate-theme/7646339). Создание каталогов с фильтрацией, расширенный функционал обзоров, layout builder, еженедельное обновление.
Aladdin
На сайте с 04.03.2008
Offline
94
#4

theunknown, по этому вопросу немного есть у Ашманова, но общее совсем, а вообще я натыкался в буржунете на несколько интересных источников, но сломалась Mozilla и все закладки потерлись. Гуглите.

VT
На сайте с 27.01.2001
Offline
130
#5
- как должен ходить бот, находя на странице новые ссылки(переходить на них сразу, либо искать не был ли он там ранее)

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

- в каком виде хранить информацию (то есть именно построение наиболее оптимальной файловой структуры)

Сложный вопрос - зависит от решаемой задачи. Зачастую нужен не просто поиск по ключевым словам, а поиск с параметрами по базе данных. Нужно выбирать какое-то решение, которое позволит комбинировать индексы базы данных и поискового движка.

- как обрабатывать накопленную информацию, дабы максимально оптимизировать её для выдачи (то есть понятное дело, что при вводе запроса не стоит проводить поиск по терабайтным бд)

Строить промежуточные индексы, которые периодически сливаются в один большой и периодически обновляются. Лучше всего собирать сервера в кластера, каждый из которых отвечают за свою часть индекса.

Вообще вопрос задан слишком абстрактно, чтобы можно было сказать что-то конкретное.

VT
На сайте с 27.01.2001
Offline
130
#6
Vyacheslav Tikhonov, можно ли с Вами как то связаться? по аське или ещё как то? (личка к сожалению не работает)

Да, Вы можете мне написать по адресу 4tikhonov*собачка*gmail.com .

RAZORr
На сайте с 01.03.2009
Offline
3
#7

uuuuppppppppp

DM
На сайте с 03.05.2009
Offline
3
#8

а ещё у кого-нибудь источники есть?

forum.searchengines.ru (forum.searchengines.ru)
Слава Шевцов
На сайте с 23.07.2005
Offline
370
#9
theunknown:
То есть конкретно интересует логическая составляющая поиска
- как должен ходить бот, находя на странице новые ссылки(переходить на них сразу, либо искать не был ли он там ранее)

Всё, что может делаться в пакетном режиме, должно делаться в пакетном режиме. Сначала сервером-краулером запрашиваются страницы. Они складываются на спец. сервер для их разбора - сервер-парсер. На сервере-парсере эти страницы разбираются на части, включая список URL и тексты. Список URL отдаётся на сервер, управляющий краулером. Дальше ссылки могут просто складываться в базу для сервера-краулера, а могут складываться лишь те, которых в базе ещё нет. Зависит от реализации. Далее сервер-парсер берёт ещё не обойдённые URL и скачивает страницы с них, складывая на сервер-парсер. И так далее.

theunknown:
- в каком виде хранить информацию (то есть именно построение наиболее оптимальной файловой структуры)

Для поиска - своя база данных. Для URL - можно MySQL или обычные текстовые файлы.

theunknown:
- как обрабатывать накопленную информацию, дабы максимально оптимизировать её для выдачи

Для этого есть отдельный сервер, который строит индекс по всем словам в текстах (сервер-индексатор). По этому-то индексу и происходит поиск на сервере-поисковике.

theunknown:
Прежде всего интересует сама методика ссылочного ранжирования, не в смысле определения авторитетности ресурса, а в смысле логического и физического представления модели связей между интернет-ресусами(то есть что на что ссылается). Самое простое логическое представление, которое приходит в голову это обычная матрица.

Второй вариант это хранение в базе пар отрезков с идентификаторами страниц "кто ссылается" - "на кого ссылается". По этим парам уже можно считать и число ссылок со страницы и число ссылок на страницу. Все пары можно держать в памяти. Иногда в памяти десятков серверов - по 250 млн. пар на сервер. Для 4 млрд. страниц это всего около тысячи серверов. Либо держать данные на быстрых жёстких дисках, но скорость будет значительно более медленной.

Неизменность точки зрения неизменно порождает иллюзию понимания.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий