itman

Рейтинг
64
Регистрация
26.05.2001

Это согласуется с моим опытом на последней версии :-)

Может и стало быстрее, раза в два, только это все равно достаточно скромная скорость. И у DPsearch при его текущей архитектуре как раз то самое пресловутое ограничение в 5-7 мс * N, где N от пяти до десяти. Пока все в кеш влезает, то может скорость и будет 900 гб в час, а как только кешоверфлоу, имеем 0.5 - 1 документа в секунду (или примерно 10кб/c) при почти 100% загрузке проца и диска.

Zute:
только относится к более древней версии...

А это больше похоже на правду.

After 3,5 days of non-stop indexing was downloaded 17,5 Gb of data.
Zute:
Осталась одна маленькая деталька: вот здесь http://www.dataparksearch.org/cgi-bin/simpleforum.cgi?fid=03&topic_id=1089195740
указана скорость индексирования в 261.80 Kbytes/sec, в вашей шкале это выходит около 920 Гб/час. Очевидно, что собственно "индексированием" у каждой поисковой системы называются совершенно разные процессы. Что есть "индексирование" у вас ?

Да я в общем-то разделяю в какой-то степени скептицизм по поводу проанонсированных цЫфр, просто хочу сказать, что это отнюдь не невозможно. А под публичными коллекциями часом не ромиповская имеется в виду? Так там меньше миллиона урлов.

Zute:
А вот и правда, по предложеной ссылке сходи, убедись. А что там на левом форуму писалось ... :d

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

Вот неправда, было это в соответствующей теме. И, кстати, вполне себе нормальная скорость поиска.

Zute:
При каких прочий ? Про скорость поиска-то ни гугу :)

Ну и небольшая поправочка: индексы, даже промежуточные были сжатыми, алгоритм распаковки подбирался быстрый, собственно это был VBC (variable byte coding). Он отличается тем, что распаковывает-упаковывает заметно быстрее, чем идет запись на диск. Возможно, что за счет этого достигается определенный доп выигрыш.

Я вот недавно тестировал: 3.5 документов (по тексту примерно в два раза меньше, чем средний вебовский документов, или примерно как два млн средних HTMLей) со специальным добавочным индексом, размер которого превышает исходный раз в пять-шесть индексируются часов 20. На слабеньком гигагерцовм пне с 512к ОЗУ и ОДНИМ IDE диском. Собственно поделим это число на пять, получаем 4 часа без дополнительного индекса. Или два часа на млн стандартных вебовских документов. Похожие цифры получаются? Как раз была реализована стратегия параллельного слияния нескольких индексов.

Ну и потом, даже если господин Леом где-то проколося в ошибках измерения раза так в 2-3. То даже с такой поравкой скорость индексирования более чем удовлетворительная.

Kryukov:
itman, Собственно я и спросил, где и как проводилось тестирование :) Я могу заявить и значительно большие цифры. Другой вопрос, что мы тестируем: количество и мощность наших Крэй-ев или что-то, что можно пощупать в реальной жизни. А реальность именно такая, что 30ГБ данных - это миллион документов, а не абстрактный массив нулей и единиц, который читается последовательно и с интерливами и кэшем и прочим :) Не согласны?

Кстати, насчет 7 мс я тоже в корне не согласен. Это только время позиционирования головки. В случае последовательного считывания-записи на диск все совсем по-другому. Чисто теоретически можно строить индекс со скоростью сравнимой со скоростью записи на диск. Особенно если один винт на чтение работает, а второй на запись.

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

Разбор документа тоже можно делать довольно быстро. Если парсер, конечно, не тормозит. Другое дело, что достижение такой высокой скорости на практике дело весьма трудоемкое, требующее высококвалифицированных программистов и быстро работающего парсера.

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

Zute:
Другой вопрос: а зачем расхваливать скорость индексирования, если юзеры поисковика будут видеть только скорость поиска ?

Зодчий, Вы, АПСОЛЮТНО, АПСОЛЮТНО не правы. Тема-то подымалсь, но проблема в ней обсуждалась немножечко другая (если не сказать совсем другая). Почему у человека не находятся результаты по некоторым ключевым словам. А ответ простой: потому что искать нужно в BOOLEAN mode. Вопрос второй: релевантность результатов. Конечно, для больших баз будет не очень релеватно, потому что поиск без учета расстояний. Но если добавить морфологию, чуть-чуть подкрутить релевантность, чтобы тайтл шел с большим весом, то для 50-100 тысяч записей вполне пойдет. Вопрос третий про лайк. Это неправда, в MySQL реализована векторная модель. Читайте не русскую документацию, а вот здесь. В частности, это означает, что LIKE, скорее всего, будет работать ощутимо медленнее.

MySQL fulltext search вполне себе рулит.

Я вот его собираюсь использовать в ближайшее время вот здесь http://punto.ru/ctl. Точные предел предсказать сложно, но несколько десятков тысяч страниц должен потянуть без проблем, см, например, отзывы здесь (как раз про пятерку) .

Всего: 444