I думаю, что по умолчанию, ваш ключ может быть чем-то вроде 1000 байтов. У вас действительно будут большие URL? Что еще хуже, я почти уверен, что это жестко заданная константа, которую вы можете изменить.
По другим вашим пунктам:
Существует много синонимов контента, и вы не узнаете об этом, сканируя только одну страницу.
А? Вы имеете в виду, что сайт может быть продублирован, с незначительными различиями в контенте, сосредоточенном вокруг ключевых фраз, и вы хотите избежать их индексации?
Что делать для HTTP 301, 302, 303, 307 и т. Д. Сохранить исходный URL-адрес или новое местоположение? Особенно это касается укороченных ссылок.
- Я думаю, что пункты назначения ... что, если кто-то сократил один и тот же пункт назначения несколько раз? Что делать, если срок действия сокращенной ссылки истекает, или сокращающее устройство отключается? Я думаю, что это гораздо более вероятно, чем то же самое, что происходит с URL-адресом назначения.
Проблема "last.fm". lastfm.com == last.fm ~ = lastfm.it (и т. д.), и сайт не использует 30-кратный код результата для указания. Он просто обслуживает контент из нескольких доменов.
- Не могли бы вы написать простой алгоритм проверки доменов, которые могут быть похожими? Last.fm содержит 6/9 символов lastfm.com, а первые 6 идентичны. Если бы вы также хранили немного метаданных, вы могли бы проверить, является ли совпадение с высоким уровнем релевантности идентичным документом.
Учитывая любой URL, который может или не может быть в базе данных, позвольте мне запросить информацию, если я ранее сканировал этот документ ранее, с разумной точностью.
- См последний пункт
Надеюсь, это поможет!