SEO HARDCORE
  • Разборы патентов
    • Патенты Google
  • Скоро SEO инструменты
  • Скоро SEO аналитика
  • seohardcore
SEO HARDCORE
назад

Как Google оптимизирует инфраструктуру своего индекса для ускорения поиска подстрок и фраз

FASTER SUBSTRING SEARCHING USING HYBRID RANGE QUERY DATA STRUCTURES (Ускоренный поиск подстрок с использованием гибридных структур данных для диапазонных запросов)
  • US8856138B1
  • Google LLC
  • 2012-08-09
  • 2014-10-07
  • Индексация
  • Описание
  • Разбор
  • Выводы
  • Практика
  • FAQ
  • Похожие

Этот патент описывает инфраструктурную оптимизацию поискового индекса Google. В нем представлена «гибридная структура данных», которая ускоряет извлечение информации (например, местоположение фраз в документах) путем объединения бинарных деревьев с таблицами поиска и использования высокоэффективных методов сортировки. Это делает поиск быстрее, но не влияет на алгоритмы ранжирования.

Описание

Какую проблему решает

Патент решает проблему производительности при выполнении диапазонных запросов (Range Queries), которые критически важны для поиска подстрок (например, точных фраз) в большом корпусе документов с использованием суффиксных массивов (Suffix Arrays). Традиционные структуры данных (например, бинарные деревья с битовыми картами) имеют значительные накладные расходы при обходе нижних уровней дерева. Это приводит к промахам кэша (cache misses) и замедлению поиска, особенно на больших индексах.

Что запатентовано

Запатентована гибридная структура данных (Hybrid Range Query Data Structure). Эта структура использует стандартное бинарное дерево на верхних уровнях, но устраняет несколько нижних уровней (k). Вместо них используются оптимизированные листовые узлы, содержащие фактические значения (таблицы поиска). Также запатентован высокоэффективный механизм сортировки для быстрого вывода результатов из этих узлов в правильном порядке.

Как это работает

Система функционирует следующим образом:

  • Построение индекса: Создается гибридное дерево. По достижении определенной глубины (например, последние 8 уровней) построение дерева прекращается, и нижние уровни заменяются листовыми узлами, хранящими фактические значения.
  • Выполнение запроса: Система обходит верхние уровни дерева стандартным способом.
  • Обработка листьев: При достижении гибридного листового узла система использует метод прямого поиска (brute-force lookup).
  • Быстрая сортировка: Чтобы гарантировать возврат результатов в отсортированном порядке (что нарушается из-за устранения нижних уровней), используется высокоэффективный алгоритм сортировки на основе временных битовых карт и побитовых операций (XOR, AND, Popcount).

Актуальность для SEO

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

Важность для SEO

1/10 (Минимальное/Инфраструктура). Патент описывает внутренние процессы Google без прямых рекомендаций для SEO. Он имеет критическое значение для производительности поисковой системы (скорости извлечения данных из индекса), но не предлагает никаких практических выводов для SEO-стратегии. Патент не описывает сигналы ранжирования или оценку качества контента.

Детальный разбор

Термины и определения

Range Query (Диапазонный запрос)
Запрос, требующий перечисления всех значений в определенном диапазоне. В контексте поиска: найти все позиции в документе (j), которые соответствуют диапазону позиций (i) в Suffix Array.
Suffix Array (Суффиксный массив)
Структура данных, используемая для эффективного поиска подстрок и фраз. Хранит отсортированные суффиксы (окончания) всего индексированного текста.
Bitmap Binary Tree (Бинарное дерево с битовыми картами)
Стандартная структура данных для диапазонных запросов (иногда называется Wavelet Tree). Узлы содержат битовые карты (0 и 1), указывающие направление обхода (влево или вправо).
Hybrid Range Query Data Structure (Гибридная структура данных для диапазонных запросов)
Запатентованная структура. Верхние уровни — это Bitmap Binary Tree; нижние уровни (k) устранены и заменены листовыми узлами, хранящими фактические значения.
Bitrank Structure (Структура Bitrank)
Вспомогательная структура для быстрого подсчета количества единиц или нулей до определенной позиции в битовой карте. Используется для навигации по дереву.
Popcount (Population Count)
Компьютерная инструкция, которая возвращает количество установленных битов (единиц) в машинном слове.
Node Offset (Смещение узла)
Значение, добавляемое к данным в гибридном листовом узле для вычисления фактического значения. Позволяет компактно хранить данные в листьях (сжатие).
Depth-First Traversal (Обход в глубину)
Метод обхода дерева, при котором система исследует каждую ветвь до конца (до листа), прежде чем вернуться назад.

Ключевые утверждения (Анализ Claims)

Claim 1 (Независимый пункт): Описывает метод создания и использования гибридной структуры.

  1. Генерация бинарного дерева с битовыми картами (bitmap binary tree).
  2. Во время генерации определяется, равно ли количество битов в следующем промежуточном узле заранее определенному числу (pre-specified number).
  3. Если ДА, генерируются листовые узлы, хранящие фактические значения, вместо генерации дополнительных нижних уровней (тем самым устраняя их). У каждого листа есть смещение (node offset).
  4. Структура сохраняется в памяти.
  5. В ответ на диапазонный запрос система возвращает значения, вычисленные путем суммирования значений в листовых узлах и соответствующих node offsets.

Claim 8 (Независимый пункт): Описывает архитектуру системы и самой структуры.

  • Структура состоит из корневого узла (битовая карта), нелистовых узлов (битовые карты) и листовых узлов.
  • Листовые узлы генерируются при достижении заданного порога размера узла.
  • Листовые узлы содержат четыре или более значений и node offset. Сумма значения и смещения дает фактический результат.

Claim 5 (Зависимый от 4, который зависит от 1): Детализирует механизм быстрой сортировки.

  1. При достижении листового узла.
  2. Установка (маркировка) битов во временной битовой карте (bitmap), соответствующих найденным значениям.
  3. Вывод результата (суммы) на основе позиций установленных битов (это и есть процесс сортировки).

Где и как применяется

Изобретение относится исключительно к инфраструктуре хранения и извлечения данных из индекса.

INDEXING – Индексирование (Хранение данных)
На этом этапе создается Hybrid Range Query Data Structure для эффективного хранения отображения между Suffix Arrays и позициями в документах. Патент определяет, как индекс хранится для оптимизации скорости доступа и использования памяти.

RANKING – Ранжирование (L1 Retrieval / Отбор кандидатов)
Эта структура используется на этапе извлечения кандидатов, когда системе необходимо быстро найти документы, содержащие определенные фразы или подстроки. Она оптимизирует скорость этого поиска.

Входные данные:

  • Диапазон целочисленных значений (например, индексы Suffix Array).

Выходные данные:

  • Соответствующие отображенные значения (например, позиции в документе), возвращаемые в отсортированном порядке.

Ключевые технические особенности:

  • Устранение нижних уровней дерева (например, k=8) для сокращения глубины обхода и уменьшения cache misses.
  • Использование Node Offsets для сжатия данных в листовых узлах.
  • Высокоскоростная сортировка с использованием побитовых операций (XOR, AND, Popcount).

На что влияет

  • Производительность поиска: Патент влияет на скорость поиска подстрок во всех типах контента, запросов и ниш, где используются Suffix Arrays. Это общее улучшение инфраструктуры, не зависящее от тематики или языка контента.

Когда применяется

  • Во время запроса (Retrieval): Всякий раз, когда поисковая система выполняет поиск подстроки или фразы, требующий определения позиций терминов в документах.
  • Во время индексирования (Indexing): Структура строится, когда размер узлов при построении дерева достигает заранее определенного предела (зависит от параметра k).

Пошаговый алгоритм

Процесс А: Построение гибридной структуры (Индексирование)

  1. Инициализация: Начать построение стандартного Bitmap Binary Tree для отображения данных.
  2. Мониторинг размера узлов: Отслеживать размер создаваемых узлов на каждом уровне.
  3. Прекращение расширения: Остановить построение дерева в глубину, когда достигнута заданная глубина или размер узла (определяется параметром k).
  4. Генерация гибридных листьев: Заменить оставшиеся нижние уровни листовыми узлами, хранящими фактические значения. Эти значения сжимаются с использованием Node Offsets.

Процесс Б: Выполнение диапазонного запроса (Извлечение)

  1. Получение запроса: Получить входной диапазон значений.
  2. Обход верхних уровней: Начать Depth-First Traversal гибридного дерева, используя стандартные методы навигации (например, Bitrank).
  3. Достижение листового узла: Прибыть в гибридный листовой узел.
  4. Инициализация сортировки: Инициализировать временную битовую карту нулями (размер карты равен размеру узла, например, 2k2^k2k бит).
  5. Маркировка значений: Для каждого релевантного значения в листовом узле установить соответствующий бит во временной битовой карте в единицу.
  6. Эффективное извлечение (Быстрая сортировка): Извлечь позиции установленных битов в порядке возрастания с помощью побитовых операций:
    • Идентификация младшего значащего бита с помощью w XOR (w-1).
    • Подсчет позиции с помощью Popcount.
    • Сброс этого бита для следующей итерации с помощью w AND (w-1).
  7. Расчет фактических значений: Добавить Node Offset к извлеченным позициям.
  8. Вывод результатов: Вернуть значения и продолжить Depth-First Traversal.

Какие данные и как использует

Данные на входе

Патент фокусируется на структуре данных, а не на внешних факторах ранжирования (контентных, ссылочных, поведенческих и т.д.).

  • Данные для индексирования: Отображение целых чисел на целые числа (например, позиции в Suffix Array, отображаемые на позиции в документе).
  • Данные во время запроса: Диапазон целых чисел.

Какие метрики используются и как они считаются

Патент направлен на оптимизацию вычислительной сложности и минимизацию промахов кэша.

  • k (Количество устраненных уровней): Заранее определенное число. В патенте упоминается k=8 как эффективная реализация.
  • Размер листового узла: Определяется как 2k2^k2k.
  • Node Offset (Смещение узла): Используется для вычисления фактического значения по формуле: v+(n∗2k)v + (n*2^k)v+(n∗2k), где v – значение в листовом узле, n – номер листового узла.
  • Побитовые операции для сортировки: Использование XOR, AND и Popcount для оптимизации сортировки на уровне машинного слова (например, 64 бита), что повышает эффективность кэша процессора.

Выводы

Патент описывает внутренние процессы Google, связанные с оптимизацией инфраструктуры, без прямых рекомендаций для SEO.

  1. Инфраструктурная оптимизация: Это чисто технический патент, сфокусированный на повышении производительности доступа к данным. Он описывает, как Google ускоряет фундаментальный процесс извлечения данных из индекса (в частности, поиск подстрок через Suffix Arrays).
  2. Гибридный подход к данным: Основная инновация заключается в сочетании эффективности бинарных деревьев на верхних уровнях со скоростью таблиц прямого поиска на нижних уровнях. Это позволяет избежать медленного обхода глубоких деревьев.
  3. Оптимизация на уровне CPU: Патент демонстрирует использование сложных низкоуровневых методов (побитовых операций) для чрезвычайно быстрой сортировки небольших наборов данных, оптимизированных под кэш процессора.
  4. Отсутствие SEO-значимости: Патент описывает, как Google быстрее извлекает информацию, а не какая информация считается важной или почему один результат ранжируется выше другого. Прямых последствий для SEO нет.

Практика

ВАЖНО: Этот патент ориентирован на инфраструктуру и не предоставляет прямых практических рекомендаций для SEO-стратегий, направленных на улучшение ранжирования.

Best practices (это мы делаем)

  • Патент не содержит информации, которая может быть использована для формирования Best Practices в SEO. SEO-специалисты не могут влиять на внутренние оптимизации структур данных Google.

Worst practices (это делать не надо)

  • Патент не направлен против каких-либо конкретных SEO-манипуляций или тактик.

Стратегическое значение

Патент дает представление о сложности инфраструктуры Google и о том, какое внимание уделяется скорости и эффективности на фундаментальном уровне. Он подтверждает использование Suffix Arrays для индексирования текста. Однако он не меняет понимание приоритетов Google в отношении качества контента (E-E-A-T) или факторов ранжирования и не влияет на долгосрочную SEO-стратегию.

Практические примеры

Практических примеров применения в SEO нет. Примеры, связанные с этим патентом, относятся исключительно к области компьютерных наук и оптимизации извлечения данных.

Вопросы и ответы

Описывает ли этот патент новый фактор ранжирования?

Нет. Этот патент описывает оптимизацию инфраструктуры поискового индекса. Он посвящен тому, как сделать извлечение данных быстрее и эффективнее с точки зрения использования ресурсов процессора, а не тому, как оценивать качество или релевантность контента.

Что такое «Range Query» и «Suffix Array» простыми словами?

Suffix Array (Суффиксный массив) — это как алфавитный указатель всех возможных фраз и слов в индексе, который позволяет мгновенно находить совпадения. Range Query (Диапазонный запрос) — это механизм, который быстро сообщает, где именно (на каких страницах и в каких позициях) эти фразы встречаются в исходных документах.

В чем заключается «гибридный» аспект этого патента?

Гибридность заключается в объединении двух подходов. Вместо использования одного большого бинарного дерева, которое медленно обходить до конца, система использует дерево только на верхних уровнях, а нижние уровни заменяет на «плоские» таблицы поиска. Это сокращает количество шагов, необходимых для нахождения данных.

Означает ли это, что Google читает мой контент по-другому?

Нет, этот патент не влияет на то, как Google сканирует, парсит или интерпретирует контент. Он влияет только на то, насколько быстро Google может найти местоположение слов в своем внутреннем индексе после того, как контент уже был обработан.

Как этот патент влияет на мою стратегию E-E-A-T?

Этот патент не имеет никакого отношения к E-E-A-T, оценке качества контента или авторитетности сайта. Он полностью посвящен технической оптимизации скорости доступа к данным в индексе.

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

Хотя теоретически бинарные деревья эффективны, на практике обход нижних уровней очень больших деревьев приводит к промахам кэша процессора (cache misses), что замедляет процесс. Гибридный подход устраняет эти накладные расходы, заменяя обход нижних уровней на специализированный быстрый алгоритм поиска и сортировки.

Что такое Node Offset, упоминаемый в патенте?

Node Offset (Смещение узла) — это метод сжатия данных для экономии памяти. Вместо хранения полных значений (адресов) в каждом листовом узле система хранит только относительные значения (например, от 0 до 255) и одно общее базовое смещение для всего узла. Фактическое значение восстанавливается путем сложения.

Могу ли я оптимизировать свой сайт на основе этого патента?

Нет. Описанные в патенте механизмы относятся исключительно к внутренней серверной архитектуре поисковой системы. Вебмастера и SEO-специалисты не могут повлиять на эти процессы.

Каков главный вывод для SEO-специалиста?

Главный вывод — это понимание технической глубины инфраструктуры Google. Это напоминание о том, что поисковая система опирается на сложные инженерные решения для обеспечения скорости и масштабируемости. Однако данный конкретный патент не имеет отношения к разработке SEO-стратегии.

Упоминается ли в патенте устранение 8 уровней дерева?

Да, в патенте упоминается, что устранение 8 уровней (k=8) является эффективной реализацией. Это позволяет хранить до 256 значений в каждом листовом узле, причем каждое значение занимает всего 1 байт (8 бит), что хорошо согласуется с размером кэш-линии процессора и повышает производительность.

Похожие патенты

Как Google оптимизирует индекс для эффективного поиска по подстрокам и запросам с подстановочными знаками (wildcards)
Google использует специализированную структуру индекса для быстрого поиска по частям слов (подстрокам) и запросам с подстановочными знаками (*, ?). Индекс хранит не только слова, но и их подстроки, связанные с включающими их строками (Inclusive Strings). Это позволяет системе быстро находить все релевантные совпадения без полного сканирования базы данных, оптимизируя вычислительные ресурсы.
  • US8296279B1
  • 2012-10-23
  • Индексация

Как Google использует гибридную архитектуру индекса (Hybrid Sharding) для баланса скорости, эффективности и обновления поиска
Google использует гибридную архитектуру индекса (Hybrid-Sharded Index), комбинирующую шардирование по документам и по терминам. Это позволяет оптимизировать баланс между операциями ввода-вывода и сетевым трафиком. Патент также описывает сложный механизм обновления этого распределенного индекса, позволяющий поддерживать доступность и согласованность данных (атомарность) во время внесения изменений.
  • US9501506B1
  • 2016-11-22
  • Индексация

Как Google строит инфраструктуру поиска на основе фраз и оптимизирует извлечение концепций из контента
Патент описывает комплексную систему поиска, которая индексирует документы на основе фраз, а не отдельных слов. Он детализирует процесс извлечения фраз (Phrase Extraction), учитывающий структуру и форматирование контента. Для хранения этого индекса используется многоуровневая (Tiers) и шардированная (Shards) архитектура, которая оптимизирует скорость поиска и снижает нагрузку на серверы.
  • US7693813B1
  • 2010-04-06
  • Индексация

  • Семантика и интент

Как Google эффективно извлекает Топ-N результатов с помощью итеративного битового поиска по ранжирующим оценкам
Патент Google, описывающий инфраструктурный механизм для повышения эффективности поиска. Система использует итеративный битовый поиск по атрибутам документов (Sort Keys), таким как качество или дата, чтобы быстро найти заданное количество результатов (Топ-N). Это позволяет избежать полного сканирования и сортировки всех релевантных документов, оптимизируя скорость извлечения данных.
  • US10235432B1
  • 2019-03-19
  • SERP

  • Свежесть контента

  • Индексация

Как Google оптимизирует обработку регулярных выражений и дорогих повторяющихся запросов в специализированных системах
Патент описывает инфраструктурные оптимизации для поисковых систем, в частности, для поиска по исходному коду. Он включает два основных механизма: 1) Кэширование результатов для дорогих повторяющихся запросов с обновлением кэша в реальном времени во время индексации. 2) Высокоэффективное префильтрование запросов с регулярными выражениями (regex) с помощью суффиксных массивов и обратного обхода автоматов.
  • US20150161266A1
  • 2015-06-11
  • Индексация

Популярные патенты

Как Google персонализирует подсказки Autocomplete, анализируя запросы похожих пользователей и обновляя локальный кэш устройства
Google персонализирует подсказки Autocomplete (Search Suggest), анализируя поведение пользователей со схожими профилями (местоположение, интересы, история поиска). Система генерирует кастомизированное обновление для локального кэша устройства на основе запросов, введенных этими похожими пользователями. Это означает, что разные пользователи видят разные подсказки для одного и того же ввода.
  • US8868592B1
  • 2014-10-21
  • Персонализация

  • Поведенческие сигналы

  • Local SEO

Как Google использует контекст пользователя для предложения запросов до начала ввода текста (Zero-Input Queries)
Google анализирует историю поисковых запросов, группируя их в «контекстные кластеры» на основе схожести темы и обстоятельств ввода (время, местоположение, интересы). Когда пользователь открывает строку поиска, система оценивает его текущий контекст и мгновенно предлагает релевантные категории запросов (например, «Кино» или «Рестораны»), предсказывая намерение еще до ввода символов.
  • US10146829B2
  • 2018-12-04
  • Семантика и интент

  • Персонализация

  • Поведенческие сигналы

Как Google использует данные о наведении курсора (Hover Data) для ранжирования изображений и борьбы с кликбейтными миниатюрами
Google использует данные о взаимодействии пользователя с миниатюрами в поиске по картинкам (наведение курсора) как сигнал интереса. Для редких запросов эти сигналы получают больший вес, дополняя недостаток данных о кликах. Система также вычисляет соотношение кликов к наведениям (Click-to-Hover Ratio), чтобы идентифицировать и понижать в выдаче «магниты кликов» — привлекательные, но нерелевантные изображения, которые собирают много наведений, но мало кликов.
  • US8819004B1
  • 2014-08-26
  • Поведенческие сигналы

  • Мультимедиа

  • SERP

Как Google определяет основной контент страницы, анализируя визуальную структуру и характеристики разделов
Google использует систему для идентификации основного контента веб-страницы путем её разделения на логические разделы на основе визуального макета. Система оценивает характеристики каждого раздела (соотношение ссылок к тексту, количество слов, изображения, расположение) относительно характеристик всей страницы, чтобы выделить наиболее значимый контент и отделить его от навигации и шаблонов.
  • US20140372873A1
  • 2014-12-18
  • Структура сайта

  • Техническое SEO

  • Ссылки

Как Google использует семантические связи внутри контента для переранжирования и повышения разнообразия выдачи
Google использует метод для переоценки и переранжирования поисковой выдачи путем анализа семантических взаимодействий между терминами внутри документов. Система строит графы локальных и глобальных связей, а затем определяет взаимосвязи между самими документами на основе их семантического вклада (даже без гиперссылок). Это позволяет повысить разнообразие выдачи, особенно по неоднозначным запросам.
  • US7996379B1
  • 2011-08-09
  • Семантика и интент

  • Ссылки

  • SERP

Как Google использует паттерны просмотра пользователей (Co-Visitation) и временную близость для определения тематики нетекстового контента (изображений и видео)
Google использует механизм для понимания контента без текста (изображения, видео), анализируя, какие другие (текстовые) страницы пользователи посещают в рамках той же сессии. Ключевые слова с этих текстовых страниц заимствуются и присваиваются нетекстовому ресурсу. Критически важным фактором является время перехода: чем быстрее пользователь перешел между ресурсами, тем больший вес получают ключевые слова.
  • US8572096B1
  • 2013-10-29
  • Поведенческие сигналы

  • Семантика и интент

  • Мультимедиа

Как Google динамически фильтрует и изменяет подсказки Autocomplete в реальном времени при вводе навигационного запроса
Google использует систему для оптимизации функции автозаполнения (Autocomplete). При вводе частичного запроса система определяет широкий набор потенциальных навигационных ссылок (Superset) и фильтрует его до узкого подмножества (Subset) на основе сигналов, таких как история поиска, популярность и тип документа. Интерфейс может динамически изменять отображаемые подсказки, если пользователь делает паузу при вводе.
  • US9454621B2
  • 2016-09-27
  • Семантика и интент

  • SERP

  • Поведенческие сигналы

Как Google определяет язык поискового запроса, используя язык интерфейса, статистику слов и поведение пользователей
Google использует вероятностную модель для точной идентификации языка поискового запроса. Система комбинирует три ключевых фактора: статистику частотности слов в разных языках, язык интерфейса пользователя (например, Google.fr) и исторические данные о том, на какие результаты пользователи кликали ранее. Это позволяет корректно обрабатывать многоязычные и неоднозначные запросы для применения правильных синонимов и стемминга.
  • US8442965B2
  • 2013-05-14
  • Мультиязычность

  • Поведенческие сигналы

Как Google переносит вес поведенческих сигналов (кликов) между связанными запросами для улучшения ранжирования
Google улучшает ранжирование по редким или новым запросам, для которых недостаточно собственных данных, используя поведенческие сигналы (Clickthrough Data) из связанных запросов. Если пользователи часто вводят запросы последовательно, система идентифицирует связь и переносит данные о кликах с одного запроса на другой, позволяя документам с высоким engagement ранжироваться выше по всему кластеру.
  • US7505964B2
  • 2009-03-17
  • Поведенческие сигналы

  • SERP

Как Google ранжирует сущности (например, фильмы или книги), используя популярность связанных веб-страниц и поисковых запросов в качестве прокси-сигнала
Google использует механизм для определения популярности контентных сущностей (таких как фильмы, телешоу, книги), когда прямые данные о потреблении недоступны. Система идентифицирует авторитетные «эталонные веб-страницы» (например, страницы Википедии) и связанные поисковые запросы. Затем она измеряет популярность сущности, анализируя объем трафика на эти эталонные страницы и частоту связанных запросов в поиске, используя эти данные как прокси-сигнал для ранжирования сущности.
  • US9098551B1
  • 2015-08-04
  • EEAT и качество

  • Поведенческие сигналы

  • SERP

seohardcore