Альтена-Хост

Рейтинг
53
Регистрация
01.12.2010
Должность
0b6b84
ca29f8
dlyanachalas:
Чтобы уместить весь рунет в 2-5 серверов. А вот уже потом развиваться

Это относительно легко делается на любой платформе, если не ходить дальше УВ2. Самое смешное, что качество выдачи получается вполне достойное для большинства не микро НЧ запросов. Так в свое время начинали ask и yahoo.

И если честно, меня намного больше озадачивает вопрос не "как искать" (это при честном подходе вполне реализуемо с большими или меньшими затратами), а "как быстро индексировать".

---------- Добавлено 28.04.2014 в 12:40 ----------

dlyanachalas:
А assembler не позволит это сделать.

Уверен, что про macro assembler знаете. Просто там подход не столько ООП (который не очень люблю), а ПОП (который не жалуют современные программисты). Хотя, выбор между asm и С под *NIX не повод для спора, а скорее религия (ядро того же linux на C написано).

dlyanachalas:
Нельзя написать нормальный поисковик на Java.

На 300% согласен, потому как сразу огребаются все "прелести " VM и ее GC.

Поэтому и мечтаю найти людей с одновременным знанием Java и C.

Что бы нормально писать что-то реально быстродействующее по *NIX нужен C (в идеале - asm).

---------- Добавлено 28.04.2014 в 11:07 ----------

komdir:
ида, еще есть цель и желание поднять кучу, нет очень большую кучу бабла, насрав на всякое там ранжирование

Мне стыдно за Вашу учительницу русского языка.

На самом деле не только Яндекс, но и Twitter, и Facebook...

---------- Добавлено 26.04.2014 в 00:05 ----------

mibuso:
Поясню - Г достаточно быстро меняет выдачу, Я думает минимум две недели над тем, что к себе закачал. В чем у них может быть разница в алгоритмах?

Извините, не сразу заметил вопрос.

Проблем там на самом деле две:

1. Технология апдейта индекса.

2. Скорость обновления информации (переиндексация).

Проблема индекса.

Идеологически можно строить сам поисковый движок двумя путями:

1. Получил bulk-апдейт от индексатора и веcь индекс переранжировал, т.е. посчитал score каждого документа после апдейта (Yandex, Sphinx).

2. Получил i-ый документ, добавил его в индекс, а при запросе score новых документов считается "на лету" (Google, Lucene (Elasticsearch, Solr)).

Понятно, что второй путь продуктивнее. Однако, те, кто шли первым путем, сделали некоторые "костыли" (бысторобот в Яндекс, rt-index Sphinx) и проблема если не исчезла, то стала менее заметна.

Проблема краулинга.

Значительно затратнее задача краулинга. Тут все упирается в скорость канала и скорость индексатора (web-crawler).

Если кто помнит, раньше на http://tools.promosite.ru/ был параметр "скорость переиндексации Рунета Яндексом" (примерно 3 месяца). Вот ведь где "собака порылась", вспоминая М.С.!

Собственно, задача скорости апдейтов при поиске в web утыкается именно в краулинг, а вовсе не в апдейты поисковой базы.

---------- Добавлено 26.04.2014 в 00:28 ----------

Все-таки, всех, интересующихся поисковыми технологиями, приглашаю в соседний раздел - /ru/forum/848127

OvipLo_Koss:
В настройки поиска sphinx хочу добавит минус слова.

Ну если совсем несложная задача, то для ru_en:

"а,без,более,бы,был,была,были,было,быть,в,вам,вас,весь,во,вот,все,всего,всех,вы,где,да,даже,для,до,его,ее,если,есть,еще,же,за,здесь,и,из,или,им,их,к,как,ко,когда,кто,ли,либо,мне,может,мы,на,надо,наш,не,него,нее,нет,ни,них,но,ну,о,об,однако,он,она,они,оно,от,очень,по,под,при,с,со,так,также,такой,там,те,тем,то,того,тоже,той,только,том,ты,у,уже,хотя,чего,чей,чем,что,чтобы,чье,чья,эта,эти,это,я,a,an,and,are,as,at,be,but,by,for,if,in,into,is,it,no,not,of,on,or,such,that,the,their,then,there,these,they,this,to,was,will,with"

Adrian2012, Ей Богу, нос утерли! Google слил (допингвинился).

http://yandex.ua/yandsearch?text=%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%20%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D1%8F%D0%B5%D0%BC%D0%BE%D0%B5%20%D1%80%D0%B0%D0%B4%D0%B8%D0%BE&lr=143

https://www.google.com.ua/#q=программно+определяемое+радио

У меня просто привычка на английском такие вещи искать.

PS: Кстати, можно сделать "предположение", что там, где нет жестких коммерческих интересов, не так уж все и плохо.

Adrian2012:
Качество выдачи у Яндекс (Украина) как минимум не хуже остальных ПС. Мое личное мнение - даже лучше.

Попробуйте сравнить информационный запрос (Обещаю, взял первый, что на ум пришел).

http://yandex.ua/yandsearch?lr=143&oprnd=6032343307&text=sdr+radio

https://www.google.com.ua/#q=sdr+radio

dlyanachalas, хоть и трудно мне понять почему Вы все время при технической полемике пытаетесь перейти на личности, тем не менее, есть предложение перенести это обсуждение в профильный раздел - /ru/forum/optimization-practices/search-technologies , если оно и вправду кому-то интересно.

---------- Добавлено 25.04.2014 в 21:50 ----------

Chessmaster:
К тому же на лицо укрупнение и монополия полезных сервисов - отбор хлеба у мелких игроков рынка.

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

Об этом еще старик Маркс писал, т.е. про 300% и любое преступление.

---------- Добавлено 25.04.2014 в 21:54 ----------

JekaSam:
А по вашим описаниям можно решить, что Яндекс - это кучка школьников...

Это очень мягко. Намедни один очень влиятельный человек (не прямо, но все же) сказал, что это кучка ЦРУ-шников, а nasdaq очень резво отреагировал на его слова. Не подумайте, что это и мое мнение тоже.

dlyanachalas:
А что за "опыт" такой, что вам 1000 серверов понадобится? :)

Я ни в коей степени не верю, что мой личный опыт будет для Вас авторитетен, поэтому, могу предложить почитать как mail.ru делали свой поиск - http://habrahabr.ru/company/mailru/blog/149498/

Что касается сжатия индекса, то оно не спасает от slow query. Пока единственное, что помогает, это множественная репликация шардов индекса и ограничение количество документов на i-том сервере поискового кластера.

dlyanachalas:

Откуда такой расчет? Если не воровать и делать всё экономно, то намного меньше.

Элементарно.

Колво страниц в индексе:

.ru 1148 млн. http://yandex.ru/yandsearch?text=*.ru&lr=213

.рф 218 млн. http://yandex.ru/yandsearch?text=*.%D1%80%D1%84&lr=213

.su 116 млн. http://yandex.ru/yandsearch?text=*.su&lr=213

.ua 323 млн. http://yandex.ru/yandsearch?text=*.ua&lr=213

.by 1331 млн. http://yandex.ru/yandsearch?text=*.by&lr=213

Зоны .com, .info, .org, .net для старта кинем...

Итого: 3136 млн. документов.

Из опыта, средний сервер стоимостью 700$ способен отранжировать за приемлемое время (менее 0,5 сек.) около 2-3 млн. документов.

Итого, понадобится 3136/3 = 1045 серверов для ранжирования поисковой базы.

Еще столько же (как минимум) для горячего бэкапа.

Еще понадобится около 128 серверов (+ резерв) для регулярного индексирования сайтов.

Аренда каналов - 3136 млн. * 0,1 Мбайт / в месяц (это очень грубо, можно попытаться сэкономить, но не факт).

Стороительство датацентров (хотя бы одного).

Надеюсь, я Вас убедил, что цифра в 2 млн. $ - очень (ну очень!) оптимистичная и скромная.

Согласен, ahrefs и базу имеет огромную, и актуальность (быстро индексирует).

Всего: 116