Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет jay_walker ([info]jay_walker)
@ 2007-07-18 01:31:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
На работе я счас делаю внутренний поисковый движок системы. Это не очень просто, если кто не в теме. Скорости удалось достичь приемлемой, но индекс занимает немеряно места. Готовые решения не подходят т.к. задача специфическая. И вот увидел обложку книги "Searh Engine Optimization for dummies"



Тут-же возникли идеи написания новых шедевров Particle Collider Operation for dummies
и Brain Surgery for dummies

А оказывается это про оптимизацию вебстраниц для того чтобы иг гугль больше любил :) Типа чтобы каждая обезьяна могла раскрутить свой говносайт.

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


(Добавить комментарий)


[info]666
2007-07-18 04:45 (ссылка)
индекс можно делить на chunks и сжимать,
распаковка на лету = экономия на времени чтения с диска

(Ответить) (Ветвь дискуссии)


[info]jay_walker
2007-07-18 04:55 (ссылка)
в индексе хранится приватная информация клиентов, поэтому хранить его на диске мне запретили - только в памяти, а то бы проблемы не было.

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

Вообще я счас читаю Кнута и википедию, ищу альтернативу деревьям, и думаю что я сделал не так :)

Все равно спасибо )

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]666
2007-07-18 05:11 (ссылка)
а почему бинарные, когда btree есть (про них есть у кнута)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]jay_walker
2007-07-18 05:25 (ссылка)
1. бинарные меньше места занимают, а скорость и так нормальная.
2. да, я использую стандартный сиплюсовый STL map (который на бинарных деревьях afaik). Хотя думаю перейти на другую имплементацию, - без указателей "наверх", - так будет на 4 байта меньше на нод. Думаю еще использовать custom allocator чтобы уменьшить фрагментацию памяти...

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]666
2007-07-18 10:30 (ссылка)
помню у гугла было нечто на эту же кажется тему
http://goog-sparsehash.sourceforge.net/

кстати, раз уж в индексе приват,
то что начальство думает о swap-файле и крешдампах

(Ответить) (Уровень выше)