Структура индексов

1. Структура индекса

  • Поисковый индекс: Структура данных, хранящая информацию о документах и используемая в поисковых системах.

  • Индексирование: Процесс сбора, сортировки и хранения данных с целью обеспечения быстрого и точного поиска информации.

  • Интердисциплинарность: Создание индекса включает понятия из различных областей, таких как лингвистика, когнитивная психология, математика, информатика и физика.

2. Виды роботов

  • Веб-индексирование: Процесс индексирования в контексте поисковых машин, разработанных для поиска веб-страниц в Интернете.

  • Полнотекстовая индексация: Фокусируется на индексации документов, написанных на естественных языках, включая мультимедийные документы, такие как видео, аудио и графика.

  • Метапоисковые машины: Используют индексы других поисковых сервисов и не хранят локальный индекс.

  • Частично-текстовые сервисы: Ограничивают глубину индексации для уменьшения размера индекса.

  • Поисковые машины, основанные на агентах: Строят индекс в реальном времени, обновляя его непрерывно.

  • Индексация

    • Цель использования индекса — повышение скорости поиска релевантных документов по поисковому запросу.

    • Без индекса поисковая машина должна была бы сканировать каждый документ в корпусе, что потребовало бы большого количества времени и вычислительной мощности.

    • Пример: индекс 10 000 документов может быть опрошен в пределах миллисекунд, в то время как последовательный просмотр каждого слова в 10 000 больших документах мог бы занять часы.

    • Дополнительная память, выделяемая для хранения индекса, и увеличение времени, требуемое для обновления индекса, компенсируется уменьшением времени на поиск информации.

  • Факторы, влияющие на проектирование поисковых систем

    • Факторы слияния:

      • Как данные входят в индекс?

      • Как слова и подчиненные функции добавляются в индекс во время текстового корпусного обхода?

      • Могут ли несколько поисковых роботов работать асинхронно?

      • Слияние индекса поисковой системы подобно SQL Merge и другим алгоритмам слияния.

    • Методы хранения:

      • Определение вида хранимой информации: сжатый или отфильтрованный.

    • Размер индекса:

      • Сколько памяти компьютера необходимо, чтобы поддерживать индекс.

    • Скорость поиска:

      • Как быстро можно найти слово в инвертированном индексе.

    • Хранение:

      • Как хранится индекс в течение длительного времени.

    • Отказоустойчивость:

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

  • Индексные структуры данных

    • Суффиксное дерево:

      • Структурировано как дерево, поддерживает линейное время поиска.

      • Используется для поиска по шаблону в последовательностях ДНК и кластеризации.

    • Инвертированный индекс:

      • Хранилище списка вхождений каждого критерия поиска.

    • Индекс цитирования:

      • Хранилище цитат или гиперссылок между документами для поддержки анализа цитирования.

    • N-грамма:

      • Хранилище последовательностей длин данных для поддержки других типов поиска или анализа текста.

    • Матрица термов документа:

      • Используется в латентно-семантическом анализе (ЛСА), хранит вхождения слов в документах в двумерной разреженной матрице.

  • Анализ формата документа

    • Если поисковая система поддерживает множество форматов документов, то документы должны быть подготовлены для токенизации.

    • Проблема: некоторые форматы документов содержат информацию о форматировании в дополнение к текстовому содержанию.

    • Примеры форматов файлов: HTML, ASCII текстовые файлы, PDF, PostScript, LaTeX, Usenet формат новостных интернет-серверов, XML, SGML, форматы мультимедийных метаданных (ID3), Microsoft Word, Excel, PowerPoint, IBM Lotus Notes.

    • Некоторые форматы файлов могут быть сжатыми или зашифрованными, что требует дополнительных шагов при индексации.

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

  • Индексация

    • Цель использования индекса — повышение скорости поиска релевантных документов по поисковому запросу.

    • Без индекса поисковая машина должна была бы сканировать каждый документ в корпусе, что потребовало бы большого количества времени и вычислительной мощности.

    • Пример: индекс 10 000 документов может быть опрошен в пределах миллисекунд, в то время как последовательный просмотр каждого слова в 10 000 больших документах мог бы занять часы.

    • Дополнительная память, выделяемая для хранения индекса, и увеличение времени, требуемое для обновления индекса, компенсируется уменьшением времени на поиск информации.

  • Факторы, влияющие на проектирование поисковых систем

    • Факторы слияния:

      • Как данные входят в индекс?

      • Как слова и подчиненные функции добавляются в индекс во время текстового корпусного обхода?

      • Могут ли несколько поисковых роботов работать асинхронно?

      • Слияние индекса поисковой системы подобно SQL Merge и другим алгоритмам слияния.

    • Методы хранения:

      • Определение вида хранимой информации: сжатый или отфильтрованный.

    • Размер индекса:

      • Сколько памяти компьютера необходимо, чтобы поддерживать индекс.

    • Скорость поиска:

      • Как быстро можно найти слово в инвертированном индексе.

    • Хранение:

      • Как хранится индекс в течение длительного времени.

    • Отказоустойчивость:

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

  • Индексные структуры данных

    • Суффиксное дерево:

      • Структурировано как дерево, поддерживает линейное время поиска.

      • Используется для поиска по шаблону в последовательностях ДНК и кластеризации.

    • Инвертированный индекс:

      • Хранилище списка вхождений каждого критерия поиска.

    • Индекс цитирования:

      • Хранилище цитат или гиперссылок между документами для поддержки анализа цитирования.

    • N-грамма:

      • Хранилище последовательностей длин данных для поддержки других типов поиска или анализа текста.

    • Матрица термов документа:

      • Используется в латентно-семантическом анализе (ЛСА), хранит вхождения слов в документах в двумерной разреженной матрице.

  • Анализ формата документа

    • Если поисковая система поддерживает множество форматов документов, то документы должны быть подготовлены для токенизации.

    • Проблема: некоторые форматы документов содержат информацию о форматировании в дополнение к текстовому содержанию.

    • Примеры форматов файлов: HTML, ASCII текстовые файлы, PDF, PostScript, LaTeX, Usenet формат новостных интернет-серверов, XML, SGML, форматы мультимедийных метаданных (ID3), Microsoft Word, Excel, PowerPoint, IBM Lotus Notes.

    • Некоторые форматы файлов могут быть сжатыми или зашифрованными, что требует дополнительных шагов при индексации.

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

  • Распознавание раздела

    • Некоторые поисковые системы включают распознавание раздела, определяя основные части документа до токенизации.

    • Некоторые документы, такие как новостные рассылки и корпоративные отчеты, содержат ошибочное содержание и боковые блоки, в которых нет основного материала.

    • Проблемы:

      • Содержание в различных разделах рассматривается как связанное с индексом, хотя в действительности это не так.

      • Дополнительное содержание "боковой панели" включено в индекс, но не способствует реальной значимости документа.

    • Для анализа раздела может потребоваться реализация логики визуализации каждого документа и индексация представления вместо самого документа.

  • Индексация метатегов

    • Некоторые документы содержат встроенные метаданные, такие как автор, ключевые слова, описание и язык.

    • Метатеги в HTML-страницах содержат ключевые слова, которые также индексируются.

    • В процессе развития Интернета индексация метатегов была важной, когда полнотекстовая индексация была недоступна из-за ограничений аппаратного обеспечения.

    • С развитием полнотекстовой индексации метатеги стали менее важными для ранжирования результатов, но все еще могут использоваться для специализированных поисковых запросов или для локального поиска.

  • Поисковые роботы

    • Поисковый робот, также известный как паук или краулер, это программа поисковой системы, которая сканирует сайты.

    • Роботы отправляют HTTP-запросы GET для считывания документов и сохраняют их для последующей обработки.

    • Роботы не обрабатывают документы напрямую, они лишь считывают и сохраняют их, а обработка происходит другими программами.

    • Роботы также могут учитывать файл robots.txt и обрабатывать исключения для роботов.

    • Например, роботы могут учитывать файл robots.txt для определения страниц, которые не должны быть индексированы, чтобы не нарушать правила сайта.

  • Виды поисковых роботов:

    • Google:

      • Основной робот-индексатор, представляющий себя как Googlebot, занимается сканированием HTML-страниц для основного поиска Google.

      • Есть также робот, отвечающий за сканирование изображений с сайта.

      • Для мобильной версии поиска существуют отдельные боты, каждый из которых совместим с определенной моделью мобильного телефона.

    • Яндекс:

      • Основной индексирующий робот Яндекса, названный YandexBot, сканирует HTML-страницы и другие документы для индексации.

      • Робот-сканер изображений, который сканирует графику разных форматов для поиска в картинках.

      • Есть отдельные боты для выполнения специальных функций, таких как:

        • Робот-«зеркальщик», который периодически проверяет совпадение главной страницы сайта при обращении к домену с www. и без, а также проверяет параллельные домены-«зеркала» на совпадение.

        • Сборщик иконок favicon.ico, который периодически запрашивает иконку favicon.ico для отображения в поисковой выдаче рядом со ссылкой на сайт.

        • Проверочный бот для новых сайтов, который работает при добавлении сайта в форму AddURL, чтобы определить, существует ли сайт и разрешен ли доступ к главной странице.

  • Робот Рамблера:

    • В настоящее время робот Рамблера уже не активен, поскольку Рамблер использует поиск Яндекса.

    • Робот-индексатор Рамблера можно было легко идентифицировать в логах по полю User-agent, которое выглядело как StackRambler/2.0 (MSIE incompatible).

    • По сравнению с роботами из других поисковых систем этот бот казался более простым, поскольку не указывал список медиатипов в запросах, не содержал поля Accept-Language и If-Modified-since.

  • Робот Mail.Ru:

    • Информации о роботе Mail.Ru пока мало. Портал Mail.Ru ведет разработку собственного поиска, но запуск этого поиска не произошел.

    • Наименование бота в User-agent выглядит как Mail.Ru/2.0 (ранее — Mail.Ru/1.0).

    • Предполагается, что в файле robots.txt следует использовать наименование бота Mail.Ru.

  • Прочие роботы:

    • Помимо двух основных поисковых систем, существуют и другие роботы, такие как робот Bing от Microsoft и другие.

    • Например, в Китае есть национальная поисковая система Baidu, но ее робот редко доходит до русскоязычных сайтов.

    • В последнее время также появилось много сервисов, которые не являются поисковыми системами, но также сканируют сайты, например, сервис solomono.

    • Ценность передачи информации о сайте таким сервисам может быть сомнительной, поэтому их роботов можно запретить в файле .htaccess, чтобы снизить нагрузку на сервер.

Возможные вопросы

Что такое поисковый индекс?

Поисковый индекс - это структура данных, хранящая информацию о документах и используемая в поисковых системах.

Какие основные задачи выполняет индексирование?

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

Какие области науки включены в процесс создания индекса?

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

Какие виды роботов используются в веб-индексировании?

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

В чем основное преимущество полнотекстовой индексации?

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

Какие факторы влияют на проектирование поисковых систем?

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

Что такое суффиксное дерево и для чего оно используется?

Суффиксное дерево - это структура данных, структурированная как дерево, которая поддерживает линейное время поиска и используется для поиска по шаблону в последовательностях ДНК и кластеризации.

Что такое инвертированный индекс и как он работает?

Инвертированный индекс - это хранилище списка вхождений каждого критерия поиска.

Какая функция выполняется индексом цитирования?

Индекс цитирования - это хранилище цитат или гиперссылок между документами для поддержки анализа цитирования.

Что такое N-грамма и как она используется?

N-грамма - это хранилище последовательностей длин данных для поддержки других типов поиска или анализа текста.

Какие проблемы могут возникнуть при анализе формата документа для индексации?

Матрица термов документа используется в латентно-семантическом анализе (ЛСА) для хранения вхождений слов в документах в двумерной разреженной матрице.

Last updated

Was this helpful?