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

    Как Google использует предварительно отсортированные индексы и логические сканеры (AND, OR, NOT) для эффективной обработки сложных запросов

    SELECTIVELY RETRIEVING SEARCH RESULTS IN ACCORDANCE WITH DIFFERENT LOGICAL RELATIONSHIPS (Выборочное получение результатов поиска в соответствии с различными логическими отношениями)
    • US9195698B2
    • Google LLC
    • 2015-11-24
    • 2011-05-27
    2011 Индексация Патенты Google

    Анализ инфраструктурного патента Google, описывающего методы эффективного выполнения сложных поисковых запросов с логическими операторами (AND, OR, NOT). Система использует специализированные сканеры для объединения результатов из разных сегментов индекса, отсортированных в одинаковом порядке. Это позволяет избежать загрузки больших промежуточных наборов данных в память и обеспечивает масштабирование времени поиска по размеру результата, а не по размеру базы данных.

    • Описание
    • Детальный разбор
    • Выводы
    • Практика
    • Вопросы и ответы
    • Наверх

    Описание

    Какую задачу решает

    Патент решает проблему неэффективности и высокой задержки (latency) при обработке сложных поисковых запросов (содержащих несколько условий и логические операторы AND, OR, NOT) в больших наборах данных. Традиционные подходы часто требуют генерации и загрузки в память больших промежуточных наборов результатов для каждого условия, что ресурсоемко. Цель изобретения — добиться того, чтобы время выполнения запроса масштабировалось пропорционально размеру конечного набора результатов, а не размеру всей базы данных.

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

    Запатентована система и метод для эффективного извлечения результатов поиска, соответствующих сложным логическим критериям и заданному порядку сортировки. Суть изобретения заключается в использовании специализированных сканеров (Scanners) для работы с несколькими предварительно отсортированными частями индекса (Index Portions). Ключевое условие — все используемые части индекса должны иметь одинаковый порядок сортировки (same sort order). Это позволяет объединять результаты на лету без создания больших промежуточных наборов данных.

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

    Система поддерживает множество индексов, отсортированных по различным комбинациям свойств. При получении запроса система идентифицирует нужные Index Portions, отсортированные в требуемом порядке.

    Для обработки логики используются Logical-Relationship Scanners:

    • AND_Scanner: Эффективно находит пересечение результатов. Он использует идентификатор из одного индекса как минимальное начальное значение для поиска в другом, что позволяет пропускать большие участки индекса, которые заведомо не содержат совпадений (механизм, схожий с Zigzag Join).
    • OR_Scanner: Эффективно объединяет результаты, сохраняя порядок сортировки. Он сравнивает следующий доступный результат у всех операндов и выбирает тот, который идет первым в общем порядке.
    • NOT_Scanner: Извлекает результаты из первого операнда и проверяет их отсутствие во втором, эффективно пропуская совпадающие идентификаторы.

    Результаты извлекаются последовательно, что позволяет остановить поиск сразу после нахождения нужного количества (например, Топ-20).

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

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

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

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

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

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

    AND_Scanner
    Тип Logical-Relationship Scanner, который находит пересечение результатов от нескольких операндов. Использует результат одного сканера как минимальный порог для следующего (метод «зигзага»).
    Entity (Сущность)
    Объект данных (например, веб-документ), хранящийся в базе данных. Имеет уникальный идентификатор (Key) и свойства (Properties).
    Filter Scanner (Сканер фильтра)
    Базовый сканер, который последовательно извлекает идентификаторы записей, соответствующих определенному фильтру, из одной части индекса (Index Portion).
    Index (Индекс)
    Структура данных, содержащая записи, отсортированные по значениям свойств сущностей для ускорения поиска.
    Index Portion (Часть индекса)
    Непрерывный участок индекса, в котором записи соответствуют определенным критериям фильтрации и имеют одинаковый порядок сортировки.
    Key (Ключ, Unique Identifier)
    Уникальный идентификатор сущности.
    Logical-Relationship Scanner (Сканер логических отношений)
    Процедура (например, AND_Scanner, OR_Scanner, NOT_Scanner), которая объединяет результаты от нескольких входных сканеров (операндов) в соответствии с заданной логикой, сохраняя порядок сортировки.
    NOT_Scanner
    Тип Logical-Relationship Scanner, который возвращает результаты от первого операнда, которые отсутствуют в результатах второго операнда.
    Operand (Операнд)
    Входные данные для логического сканера. Операндом является другой сканер (Filter Scanner или Logical-Relationship Scanner).
    OR_Scanner
    Тип Logical-Relationship Scanner, который объединяет результаты от нескольких операндов, выбирая следующий результат в общем порядке сортировки.
    Query Cursor (Курсор запроса)
    Закодированная строка, указывающая на место остановки в наборе результатов предыдущего запроса. Используется для эффективного возобновления поиска (пагинации).
    Sequentially Adjacent (Последовательно смежный)
    Следующий идентификатор в заданном порядке сортировки (по возрастанию или убыванию) в данной части индекса, даже если исходный идентификатор в этой части отсутствует.

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

    Патент US9195698B2 является продолжением (Continuation) предыдущих заявок и описывает общую архитектуру использования сканеров. Основные независимые пункты (Claims 1, 12, 17) в этом конкретном патенте фокусируются на механизме, соответствующем OR_Scanner.

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

    1. Система получает запрос с фильтрами (операндами) и логической связью.
    2. Идентифицируются части индексов (Index Portions) для первого и второго операндов, отсортированные в одинаковом порядке (same sort order).
    3. Процесс идентификации совпадений:
      1. Определяется набор кандидатов (candidate identifiers) – по одному для каждого операнда. Кандидат – это следующая доступная запись в порядке сортировки.
      2. Кандидаты сравниваются для определения того, какой из них идет первым в общем порядке сортировки (ближе к predefined end of the range).
      3. Сущность, связанная с выбранным идентификатором, помечается как совпадение.
      4. Система идентифицирует следующий (sequentially adjacent) идентификатор в той части индекса, откуда был взят победивший кандидат.

    Механизмы AND и NOT (Описаны в патенте, FIG 6A-6B, FIG 7): Хотя Claim 1 фокусируется на OR, описание патента также детализирует критически важные механизмы AND и NOT.

    AND Mechanism (Интерпретация FIG 6A-6B):

    Цель — найти идентификатор, присутствующий во всех операндах. Система использует итеративный подход (leapfrogging/zigzag join):

    1. Получить идентификатор (ID1) от Операнда 1.
    2. Запросить у Операнда 2 идентификатор, который равен или следует за ID1.
    3. Если Операнд 2 возвращает ID2, который следует за ID1 (ID2 > ID1), система возвращается к Операнду 1 и запрашивает идентификатор, равный или следующий за ID2.
    4. Этот процесс позволяет эффективно пропускать диапазоны индексов, где совпадения невозможны, пока не будет найден общий идентификатор.

    NOT Mechanism (Интерпретация FIG 7):

    Цель — найти идентификаторы из Операнда 1, которых нет в Операнде 2.

    1. Получить ID1 от Операнда 1. Проверить его наличие в Операнде 2. Если нет – это совпадение.
    2. Система определяет следующий идентификатор (ID2) в Операнде 2. Все идентификаторы из Операнда 1, которые находятся строго между ID1 и ID2, автоматически считаются совпадениями, так как они гарантированно отсутствуют в Операнде 2 (благодаря одинаковой сортировке).

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

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

    INDEXING – Индексирование и извлечение признаков
    На этом этапе система должна генерировать и поддерживать множество индексов (Indexes), отсортированных по различным комбинациям свойств. Это необходимое условие для работы описанных механизмов, так как сканеры полагаются на наличие предварительно отсортированных данных в Index Portions.

    RANKING – Ранжирование (L1 Retrieval / Отбор кандидатов)
    Это основная область применения патента. Query Engine использует описанные механизмы Logical-Relationship Scanners для быстрого и эффективного отбора кандидатов, соответствующих сложным критериям фильтрации. Если индексы отсортированы по Ranking Score, этот механизм позволяет быстро извлечь Топ-N результатов без полного сканирования.

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

    • Поисковый запрос (фильтры, логика, сортировка).
    • Предварительно созданные Индексы (Indexes).
    • Опционально: Query Cursor от предыдущего запроса.

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

    • Поток идентификаторов сущностей (Keys), соответствующих запросу, в заданном порядке сортировки.
    • Новый Query Cursor, указывающий на место остановки.

    На что влияет

    Патент описывает механизм выполнения запросов, а не политику ранжирования. Он влияет на производительность системы при обработке любых запросов, использующих фильтрацию и сортировку, независимо от типа контента, ниши или языка. Он особенно актуален для сценариев с фасетным поиском (например, E-commerce).

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

    Алгоритмы применяются всякий раз, когда выполняется поисковый запрос, который включает:

    • Несколько критериев фильтрации, связанных логическими операторами (AND, OR, NOT).
    • Требование вывода результатов в определенном порядке сортировки (Sort Order).
    • Ограничение на количество возвращаемых результатов (Топ-N).

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

    Обобщенный процесс обработки запроса:

    1. Планирование запроса: Query Planner анализирует запрос и определяет план выполнения.
    2. Идентификация индексов: Идентифицируются соответствующие Index Portions, которые отсортированы в требуемом порядке.
    3. Инициализация сканеров: Создается дерево сканеров. Filter Scanners для базовых фильтров и Logical-Relationship Scanners для объединения результатов.
    4. Позиционирование (Опционально): Если предоставлен Query Cursor, сканеры позиционируются на место, указанное курсором.
    5. Итеративное извлечение: Система запрашивает следующий результат у корневого сканера.
      1. Логические сканеры координируют извлечение у своих операндов. Например, AND_Scanner использует механизм «зигзага» для синхронизации; OR_Scanner выполняет слияние (merge).
      2. Сканеры фильтров считывают следующую запись из индекса.
    6. Терминация: Процесс повторяется до достижения лимита результатов или исчерпания индексов.
    7. Генерация курсора: Генерируется новый Query Cursor, фиксирующий состояние всех сканеров в момент остановки.

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

    Патент чисто технический и фокусируется исключительно на механизме извлечения данных из уже существующих индексов. Он не описывает использование стандартных SEO-факторов.

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

    • Индексированные данные: Система использует исключительно данные, хранящиеся в индексах. Это значения свойств (Properties) сущностей и их уникальные идентификаторы (Keys).

    В патенте не упоминаются контентные, ссылочные, поведенческие или любые другие внешние факторы ранжирования.

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

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

    Основные операции:

    • Сравнение идентификаторов: Сравнение идентификаторов из разных Index Portions на равенство, больше или меньше для определения порядка сортировки и нахождения совпадений.
    • Определение последовательной смежности (Sequential Adjacency): Механизм для нахождения следующей релевантной записи в индексе.

    Выводы

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

    1. Инфраструктурный фокус: Патент демонстрирует, как Google решает фундаментальную задачу эффективного извлечения данных при сложных запросах.
    2. Масштабирование и скорость: Ключевая цель — обеспечить низкую задержку, при которой время ответа зависит от размера результата, а не от размера базы данных.
    3. Зависимость от предварительной сортировки: Эффективность системы полностью зависит от наличия множества предварительно созданных индексов, отсортированных по различным комбинациям свойств.
    4. Эффективные соединения (Joins): Использование Logical-Relationship Scanners (особенно AND_Scanner с логикой «зигзага») позволяет эффективно объединять данные из разных индексов без загрузки промежуточных данных в память.
    5. Точная пагинация: Механизм Query Cursor позволяет эффективно возобновлять поиск с места остановки, что критично для пагинации.

    Практика

    Патент является инфраструктурным и не дает практических выводов или конкретных рекомендаций для SEO-специалистов по оптимизации сайтов с целью повышения ранжирования.

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

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

    • Использование структурированных данных (Schema.org): Система полагается на индексированные свойства (Properties) для фильтрации и сортировки. Предоставление точных структурированных данных (цены, даты, атрибуты) помогает поисковой системе корректно извлекать эти свойства и включать сущности в соответствующие отсортированные индексы. Это важно для видимости в вертикалях поиска или при использовании фильтров (например, Google Shopping).

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

    Патент не определяет неэффективные или опасные SEO-тактики, так как не связан с алгоритмами ранжирования или анти-спам системами.

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

    Стратегическое значение для SEO минимально. Патент важен для понимания инженерных возможностей Google. Он демонстрирует наличие высокооптимизированной архитектуры для хранения и извлечения данных, способной быстро выполнять сложные запросы фильтрации и сортировки. Это не меняет понимания важности E-E-A-T, релевантности или других факторов ранжирования.

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

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

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

    Влияет ли этот патент на то, как Google рассчитывает релевантность или E-E-A-T?

    Нет. Патент посвящен исключительно инфраструктуре и эффективности извлечения данных (Information Retrieval). Он описывает, как система находит записи, соответствующие сложным фильтрам, но не затрагивает вопросы определения релевантности, авторитетности или качества контента.

    Что такое «Logical-Relationship Scanner» и каково его значение?

    Это внутренний компонент базы данных (AND_Scanner, OR_Scanner, NOT_Scanner), отвечающий за эффективное комбинирование результатов из разных частей индекса. Его значение в том, что он позволяет выполнять логические операции без загрузки полных списков результатов в память, что критически ускоряет обработку сложных запросов.

    Патент требует, чтобы все сегменты индекса были отсортированы одинаково. Что это значит?

    Это значит, что для выполнения запроса, например, A=1 AND B=2 SORT BY C, система должна найти индекс, где записи с A=1 отсортированы по C, и индекс, где записи с B=2 также отсортированы по C. Это требование подразумевает, что Google создает и поддерживает огромное количество предопределенных индексов для разных комбинаций сортировок.

    Как работает механизм «зигзага» (Zigzag Join) в AND_Scanner?

    Это метод эффективного поиска пересечений в отсортированных списках. Если Сканер A находит ID 10, а Сканер B возвращает следующий результат ID 15, система понимает, что ID 10 не подходит. Затем она просит Сканер A «перепрыгнуть» и начать поиск с ID 15. Это позволяет пропускать все записи между 10 и 15, не проверяя их по отдельности.

    В патенте говорится, что время поиска масштабируется по размеру результата, а не базы данных. Что это значит?

    Это означает, что получение первых 20 результатов занимает фиксированное время, независимо от того, насколько велика база данных (миллион или миллиард записей). Система оптимизирована так, чтобы находить топовые результаты в отсортированном индексе и останавливаться, не сканируя остальную часть данных.

    Что такое «Query Cursor» и имеет ли он отношение к SEO?

    Query Cursor — это технический механизм для эффективной пагинации. Это «закладка», которая позволяет системе возобновить поиск с точного места остановки в индексе без повторного вычисления предыдущих результатов. Он не имеет отношения к SEO-оптимизации.

    Может ли Query Cursor использоваться, если порядок сортировки изменился между запросами?

    Да, патент описывает механизм трансляции (перевода) курсора. Система может разобрать курсор на компоненты (например, Key и Значение Даты) и пересобрать их, чтобы найти соответствующую позицию в другом индексе, отсортированном иначе (например, если пользователь переключил сортировку с Даты на Релевантность).

    Влияет ли этот механизм на обработку структурированных данных (Schema.org)?

    Косвенно. Структурированные данные помогают Google точно извлекать свойства (Properties) сущностей. Эти свойства затем используются для построения различных отсортированных индексов, описанных в патенте. Чем точнее данные, тем эффективнее работает фильтрация и сортировка контента.

    На каком этапе поиска работают эти механизмы?

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

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

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

    Навигация
    • Описание
    • Детальный разбор
    • Выводы
    • Практика
    • Вопросы и ответы
    • Наверх
    Telegram
    © 2025 SEO HARDCORE

    Type above and press Enter to search. Press Esc to cancel.