Как выглядит поиск в Gmail так быстро?

Каков наиболее эффективный способ поиска по многим персонажам? Как вы думаете?

Предположим, что сайт построен на PHP и MySQL.

Чему я должен научиться, чтобы иметь возможность построить это максимально эффективно? Есть ли какие-то алгоритмы, которые я должен чему-то научиться?

Solutions Collecting From Web of "Как выглядит поиск в Gmail так быстро?"

Алгоритм индексации текста

Google использует заказное решение для баз данных BigTable, http://en.wikipedia.org/wiki/Big_table , которое запускается через сотни серверов по всему миру. Таким образом, они быстры, потому что они написали программное обеспечение специально, чтобы быть быстрым, и настроили аппаратное обеспечение таким образом, чтобы они могли выжать максимум из него.

Вы можете получить достойный набор с PHP и MySQL, но как только вы начнете работать с очень большими наборами данных, MySQL и любая другая общая база данных начнут прятаться под напряжением. Если вы хотите узнать больше об этом, стоит начать поиск параллелизма в дизайне базы данных (кратко объясняется в http://en.wikipedia.org/wiki/Concurrency_control среди других), что является тематическим способом слишком большой, чтобы покрыть ответ в stackoverflow =)

Google выходит за рамки просто оптимизации баз данных и кода. Они также выполняют множество распределенных программ. Хотя точные механизмы, которые они используют для таких систем власти, как Gmail, являются охраняемыми секретами, известно, что у них есть целые фермы компьютеров, подключенных к сети, каждый из которых работает с частями индекса в любой момент времени, а не только с одним сервером.

Для MySQL рассмотрите функции полнотекстового поиска .

Это предполагает, что ваш контент хранится в базе данных (например, в CMS).