INick

Рейтинг
1
Регистрация
30.03.2006

Хорошо. Тогда сделаю пока без учета расстояния между словами.

Дак как же всётаки учесть рассояние м/у словами?

Хранить для каждого слова его позицию на странице (таких записей будет столько, сколько раз слово на странице повторяется). А потом хитро запрос к базе составить, чтобы сортировал по расстоянию м/у словами. Так, и никак иначе? А то база слишком разрастется.

Для itman: нет, аннотация с той страницы, которая релевантна.

Для ЗодчийТеней: Согласен, экономии мало. Может тогда просто дополнительное поле ввести (id_group), которое будет говорить, что страницы находятся на одном сайте? Не сравнивать же каждый раз url-и...

Я имею ввиду сделать с надписью "Еще с сайта (33687)", а показывать одну.

Главная страница - это просто url сайта, а все второстепенные = главная + какие-то дополнения (для того, чтобы при хранении места меньше занимали, и чтобы было понятно, что все они принадлежат одному сайту).

Для itman: Главная страница здесь, чтобы идентифицировать сайт. Например: forum.searchengines.ru - главная, а остальные - вида: forum.searchengines.ru/showthread.php?t=43850. Это чтобы выдавать пользователю не несколько релевантных страниц одного сайта, а одну самую релевантную.

Для ЗодчийТеней: это городская сеть и серверов в ней много.

Может лучше так?

words:

word_id

word

GROUP_ID

urls:

url_id

url

PAGES:

url_id

page_id

page_url

url_words

url_id

GROUP_ID

RELEVANCE

---

Здесь GROUP_ID для объединения слов в группу - для морфологического поиска; PAGES - описывает все страницы с одной главной url (из таблицы urls) - чтобы выдавать только одну самую релевантную страницу сайта; RELEVANCE - чтобы учитывать title, description и "жирность написания"...

Как идея?

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

Спасибо за ссылки, но там как-то в общих чертах... Короче, того, что мне нужно, я так и не нашел.

Я пишу поисковик для небольшой внутреннйе сети (5-7 тыс. сайтов). spider, crawler и indexer (с безабразным расчетом релевантности) написал, нашел марфологический словарь (130 тыс. слов).

Осталось разобраться, как это всё должно работать :) Чёткой концепции у меня в голове пока нет.