Несколько вопросов о реализации фильтра Блума

Недавно я обнаружил сайт, который устанавливает определенные кодовые ката.

Одно из Ката привлекло мое внимание и заставило меня изучить фильтры Блума.

Я использую PHP и MySql.

У меня есть таблица с примерно 45 000 слов, которая действует как словарь, и я написал код для создания массива фильтров Блума.

Мои вопросы ...

  1. В какой момент должен запускаться код для создания массива фильтров Блума a) Когда пользователь обращается к странице b) Каждый раз, когда выполняется поиск c) Только один раз мной, а затем сохраняется для будущего использования d) что-то совсем другое

  2. Как мне сохранить массив а) Сохранить его в массиве б) Записать в текстовый файл в) Создать новую таблицу и сохранить ее там г) что-то совсем другое

Любая помощь от кого-то, кто имеет опыт работы с фильтрами цветения, будет большим подспорьем.

Ура, Hangfire


person Community    schedule 20.10.2009    source источник


Ответы (1)


1) c (возможно, в сеансе).

2) а (в памяти).

Всего за 45000 слов вы, вероятно, сможете сохранить весь список в хеш-памяти и по-прежнему иметь быстрый поиск. Фильтр Блума может не понадобиться.

- Хорхе.

person jm.    schedule 29.12.2009
comment
Спасибо за ответ Хорхе, я думал, что мой пост потерялся в глубине веков. Знаете ли вы какие-нибудь хорошие статьи / руководства по практическому использованию хэш-функций и списков? Это область, в которой мне нужно взлететь, но я стараюсь держаться подальше от нее. С уважением, Hangfire - person ; 03.01.2010
comment
Просто задайте этот вопрос здесь, на SO :) Вместо комментариев. - person jm.; 06.01.2010
comment
Кстати: я подумал, что это хорошая статья о BLOOM FILTER: perl. com / pub / a / 2004/04/08 / bloom_filters.html Это не PHP, но все же должно иметь смысл. - person jm.; 06.01.2010