Спасибо, значит делаем
<body> <div style="...">слой с роликом</div> <div style="overflow:scroll;width:800px;height:600px;">html контент</div> </body>
Т.е. есть html страничка, но если не робот запросил её загружать ещё и флэш, размещённый в слое, перекрывающем весь сайт?
Хотя можно не делать тогда разичия между роботом и пользователем, а сделать 2 слоя на стрнице = на нижнем html контент, на верхнем (который видит пользователь) флэш ролик. Получается каждому своё (робот увидит без проблем html, пользователь флэш ролик поверх всего этого).
Я в правильном направлении? Если да, то почему бы не делать следующим образом:
<body> <div style="display:none;">html контент</div> флэш ролик </body>
Это будет считаться за клоакинг?
да примерно так...
согласен это будет проще... но когда скажембудут испольщованы 2 часто употребляемых слова, после об'единения списков получится большой длины результат, который затем нужно отранжировать (что займет не мало времени)
вот интересен этот порог... как его посчитать... (там же потом еще и индексирование будет работать...) А что за готовые средства... попобдромнее можно.?..
про java да, согласен -)) есть повод изучить его получше...
на питон смотрел раньше чем на java, подкупает еще и тем что google на нем роботов написал -)
Cейчас crawler на perl'e. Но думаю переписывать на java (встроенная многопоточность). Схему контроля думаю сделать такой:
-у crawler_manager'a есть список сайтов
-например manager запустил на скачку 10 crawler'ов
-те начинают качать... например на главной страничке 20 ссылок... у crawler'a составляется список страниц данного сайта... crawler запускает 20 потоков (на каждую страницу 1 поток)... каждый поток отслылает crawler'y время получения страницы... crawler суммирует время от всех потоков... (хотя нет, они же параллельно работают... тогда выбирает максимум) и отпраляет это значение crawler_manager'y тот в свою очередь сравнивает показания всех 10 crawler'ов (так же еще он память должен смотреть...) и принимает решение запустить на скачку еще 1 сайт или сказать crawler'y, который больше всего времени ждет сервер, что нужно остановить поток, или вообще остановить crawler...
списки сайтов и стрниц сайтов ( + флаги ) думаю хранить в key-value БД (почитал этот форум... все говорят что юзать СУБД накладно...). нашел berkeley-db java edition...
вот только думаю не сильно-ли завернутая схема... кто какую схему применяет вообще, и стоит ли на java все это делать (почему решил java = анализ тектса + потоки + пороще С++)...
да, согласен, TF*IDF здесь проблематично использовать... (придется перегруппировывать блоки)... Мучает просто то что при запросе придется лопатить весь индекс (если брать некоторую его часть, тогда есть ли смысл индексировать N документов, если при поисковом запросе использовать только его часть)... Думаю над "пред-ранжированием"...
while ( resn < 10 ) { getNextGroup... }
почему? поясните, плиз...
рейтинг текстов = какие именно критерии учитывать при подсчете рейтинга (примеры или том где можно почитать про это)
а по каккому критерию / критериям определять вставлять ID или нет в маленький индекс?
eshum, честно говоря про "локальный инвертированный индекс" не стал читать = но примерно понял на каждом сервере хранится часть индекса одного слова, и тогда при запросе параллельно считываются пост-листы (поэтому получается так быстро?)
а если все организовать на одном сервере (не смейтесь), то как организовать индекс?
я просто делаю на BerkeleyDB (b+tree) key это id_слова value пост-лист (пока только массив id_страниц). Например предлог "и" то мой пост-лист будет содержать столько элементов сколько проиндексировано страниц (например 1 000 000).
Этот массив нужно как-то сохранить в value (делаю на perl'e использую функцию pack и unpack; итог pack ~1сек unpack ~1сек + 1сек на считывание value), прокомментируйте/посоветуйте пожалуйста
хорошо... допустим у них индекс хранится на разных серверах (то есть часть там там и там) размер считываемых данных сократится = но все равно винт читает 60мб/с (около того)