Индексация поисковыми системами
Индексирование поисковыми системами — это сбор, анализ и хранение данных для обеспечения быстрого и точного поиска информации . Дизайн индекса включает в себя междисциплинарные концепции лингвистики , когнитивной психологии , математики, информатики и информатики . Альтернативное название этого процесса в контексте поисковых систем , предназначенных для поиска веб-страниц в Интернете, — веб-индексирование .
Популярные поисковые системы ориентированы на полнотекстовое индексирование онлайн- документов на естественном языке . [1] Типы мультимедиа, такие как изображения, видео, [2] аудио, [3] и графика [4] также доступны для поиска.
Метапоисковые системы повторно используют индексы других сервисов и не хранят локальный индекс, тогда как поисковые системы на основе кеша постоянно хранят индекс вместе с корпусом . В отличие от полнотекстовых индексов, частичнотекстовые службы ограничивают глубину индексирования, чтобы уменьшить размер индекса. Более крупные службы обычно выполняют индексацию через заранее определенный интервал времени из-за требуемого времени и затрат на обработку, в то время как агентов поисковые системы на основе индексируют в реальном времени .
Индексирование
[ редактировать ]Целью хранения индекса является оптимизация скорости и производительности поиска соответствующих документов по поисковому запросу. Без индекса поисковая система сканировала бы каждый документ в корпусе , что потребовало бы значительного времени и вычислительной мощности. Например, хотя индекс из 10 000 документов можно запросить за миллисекунды, последовательное сканирование каждого слова в 10 000 больших документах может занять несколько часов. Дополнительная компьютерная память, необходимая для хранения индекса, а также значительное увеличение времени, необходимого для обновления, компенсируются временем, сэкономленным при поиске информации.
Факторы расчета индекса
[ редактировать ]К основным факторам при разработке архитектуры поисковой системы относятся:
- Объединить факторы
- Как данные поступают в индекс или как слова или предметные характеристики добавляются в индекс во время обхода корпуса текста, а также могут ли несколько индексаторов работать асинхронно. Индексатор должен сначала проверить, обновляет ли он старый контент или добавляет новый. Обход обычно коррелирует с политикой сбора данных . Слияние индексов поисковых систем по своей концепции аналогично команде SQL Merge и другим алгоритмам слияния. [5]
- Методы хранения
- Как хранить индексные данные , то есть должна ли информация быть сжатой или отфильтрованной.
- Размер индекса
- Какой объем памяти компьютера требуется для поддержки индекса.
- Скорость поиска
- Как быстро можно найти слово в инвертированном индексе . Скорость поиска записи в структуре данных по сравнению с тем, насколько быстро она может быть обновлена или удалена, находится в центре внимания информатики.
- Обслуживание
- Как индекс поддерживается с течением времени. [6]
- Отказоустойчивость
- Насколько важно, чтобы сервис был надежным. Проблемы включают в себя борьбу с повреждением индекса, определение того, можно ли обрабатывать плохие данные изолированно, работу с неисправным оборудованием, секционированием и такими схемами, как хэш-основное или составное секционирование. [7] а также репликация .
Структуры индексных данных
[ редактировать ]Архитектуры поисковых систем различаются по способу выполнения индексации и методам хранения индексов в соответствии с различными факторами проектирования.
- Суффиксное дерево
- Образно структурированный как дерево, поддерживает линейный поиск по времени. Построен путем сохранения суффиксов слов. Суффиксное дерево — это разновидность дерева . Пытается поддерживать расширяемое хеширование , что важно для индексации поисковыми системами. [8] Используется для поиска закономерностей в последовательностях ДНК и кластеризации. Основным недостатком является то, что для хранения слова в дереве может потребоваться пространство, превышающее необходимое для хранения самого слова. [9] Альтернативным представлением является суффиксный массив , который, как считается, требует меньше виртуальной памяти и поддерживает сжатие данных, такое как алгоритм BWT .
- Инвертированный индекс
- Хранит список вхождений каждого критерия атомарного поиска. [10] обычно в форме хэш-таблицы или двоичного дерева . [11] [12]
- Индекс цитирования
- Сохраняет цитаты или гиперссылки между документами для поддержки анализа цитирования, предмета библиометрии .
- n- граммный индекс
- Хранит последовательности данных для поддержки других типов поиска или анализа текста . [13]
- Матрица документ-терминов
- Используется в скрытом семантическом анализе и сохраняет вхождения слов в документах в двумерной разреженной матрице .
Проблемы параллелизма
[ редактировать ]Основной проблемой при разработке поисковых систем является управление последовательными вычислительными процессами. Существует множество возможностей возникновения состояний гонки и последовательных неисправностей. Например, в корпус добавляется новый документ и индекс необходимо обновить, но индекс одновременно должен продолжать отвечать на поисковые запросы. Это столкновение двух конкурирующих задач. Учтите, что авторы являются производителями информации, а веб-сканер является потребителем этой информации, захватывая текст и сохраняя его в кеше (или корпусе ). Прямой индекс является потребителем информации, производимой корпусом, а инвертированный индекс — потребителем информации, производимой прямым индексом. Эту модель обычно называют моделью производитель-потребитель . Индексатор — это производитель информации, доступной для поиска, а пользователи — это потребители, которым необходимо осуществлять поиск. Проблема усложняется при работе с распределенным хранилищем и распределенной обработкой. Чтобы масштабироваться с большими объемами индексируемой информации, архитектура поисковой системы может включать распределенные вычисления , где поисковая система состоит из нескольких машин, работающих в унисон. Это увеличивает вероятность некогерентности и затрудняет поддержание полностью синхронизированной, распределенной, параллельной архитектуры. [14]
Инвертированные индексы
[ редактировать ]Многие поисковые системы используют инвертированный индекс при оценке поискового запроса , чтобы быстро найти документы, содержащие слова в запросе, а затем ранжировать эти документы по релевантности. Поскольку инвертированный индекс хранит список документов, содержащих каждое слово, поисковая система может использовать прямой доступ для поиска документов, связанных с каждым словом в запросе, чтобы быстро получить совпадающие документы. Ниже приведена упрощенная иллюстрация инвертированного индекса:
Слово | Документы |
---|---|
тот | Документ 1, Документ 3, Документ 4, Документ 5, Документ 7 |
корова | Документ 2, Документ 3, Документ 4 |
говорит | Документ 5 |
там | Документ 7 |
Этот индекс может только определить, существует ли слово в конкретном документе, поскольку он не хранит никакой информации о частоте и положении слова; поэтому он считается логическим индексом. Такой индекс определяет, какие документы соответствуют запросу, но не ранжирует соответствующие документы. В некоторых проектах индекс включает дополнительную информацию, такую как частота каждого слова в каждом документе или положение слова в каждом документе. [15] Информация о местоположении позволяет алгоритму поиска определять близость слов для поддержки поиска фраз; Частота может использоваться для ранжирования релевантности документов запросу. Такие темы являются центральным направлением исследований в области поиска информации .
Инвертированный индекс представляет собой разреженную матрицу , поскольку не все слова присутствуют в каждом документе. Чтобы уменьшить требования к памяти компьютера , она хранится иначе, чем двумерный массив . Индекс аналогичен термину «матрицы документов», используемому при скрытом семантическом анализе . Инвертированный индекс можно рассматривать как разновидность хеш-таблицы. В некоторых случаях индекс представляет собой форму двоичного дерева , которая требует дополнительного хранилища, но может сократить время поиска. В более крупных индексах архитектура обычно представляет собой распределенную хеш-таблицу . [16]
Реализация поиска фраз с использованием инвертированного индекса
[ редактировать ]Для поиска фраз используется специализированная форма инвертированного индекса, называемая позиционным индексом. Позиционный индекс не только хранит идентификатор документа, содержащего токен, но также точную позицию(и) токена внутри документа в списке проводок . Вхождения фразы, указанной в запросе, извлекаются путем навигации по этому списку публикаций и определения индексов, в которых нужные термины встречаются в ожидаемом порядке (так же, как порядок во фразе). Итак, если мы ищем появление фразы «Первая ведьма», мы бы:
- Получить список сообщений для «первого» и «ведьмы».
- Определите, когда слово «ведьма» встречается в первый раз после слова «первый».
- Убедитесь, что это событие происходит сразу после появления «первого».
- Если нет, перейдите к следующему появлению слова «первый».
В списках публикаций можно перемещаться с помощью двоичного поиска, чтобы минимизировать временную сложность этой процедуры. [17]
Слияние индексов
[ редактировать ]Инвертированный индекс заполняется посредством слияния или перестроения. Перестроение похоже на слияние, но сначала удаляет содержимое инвертированного индекса. Архитектура может быть спроектирована для поддержки инкрементальной индексации. [18] где слияние идентифицирует документ или документы, которые необходимо добавить или обновить, а затем анализирует каждый документ на слова. Для обеспечения технической точности слияние объединяет вновь проиндексированные документы, обычно находящиеся в виртуальной памяти, с индексным кэшем, находящимся на одном или нескольких жестких дисках компьютера.
После анализа индексатор добавляет указанный документ в список документов по соответствующим словам. В более крупной поисковой системе процесс поиска каждого слова в инвертированном индексе (чтобы сообщить, что оно встречается в документе) может занять слишком много времени, поэтому этот процесс обычно разбивается на две части: разработку прямой индекс и процесс, который сортирует содержимое прямого индекса в инвертированный индекс. Инвертированный индекс назван так потому, что он представляет собой инверсию прямого индекса.
Форвардный индекс
[ редактировать ]Прямой индекс хранит список слов для каждого документа. Ниже приведена упрощенная форма форвардного индекса:
Документ | Слова |
---|---|
Документ 1 | корова говорит: муу |
Документ 2 | кот и шляпа |
Документ 3 | блюдо убежало с ложкой |
Смысл разработки прямого индекса заключается в том, что при анализе документов лучше временно сохранять слова для каждого документа. обновления инвертированного индекса Такое разграничение обеспечивает асинхронную системную обработку, что частично обходит узкое место . [19] Прямой индекс сортируется для преобразования его в инвертированный индекс. Прямой индекс по сути представляет собой список пар, состоящий из документа и слова, сопоставленный по документу. Преобразование прямого индекса в инвертированный — это всего лишь вопрос сортировки пар по словам. В этом отношении инвертированный индекс представляет собой прямой индекс с сортировкой по словам.
Сжатие
[ редактировать ]Создание или поддержание крупномасштабного индекса поисковой системы представляет собой серьезную проблему хранения и обработки. Многие поисковые системы используют форму сжатия для уменьшения размера индексов на диске . [20] Рассмотрим следующий сценарий для полнотекстовой поисковой системы Интернета.
- требуется 8 бит (или 1 байт Для хранения одного символа ). Некоторые кодировки используют 2 байта на символ. [21] [22]
- Среднее количество символов в любом слове на странице можно оценить в 5 ( Arc.Ask3.Ru: Сравнение размеров ).
Учитывая этот сценарий, несжатый индекс (предполагая, что это несвязанный , простой индекс) для 2 миллиардов веб-страниц должен будет хранить 500 миллиардов записей слов. При 1 байте на символ или 5 байтах на слово только для этого потребуется 2500 гигабайт дискового пространства. [ нужна ссылка ] Это требование к пространству может быть даже больше для отказоустойчивой распределенной архитектуры хранения. В зависимости от выбранного метода сжатия индекс может быть уменьшен до доли этого размера. Компромисс — это время и вычислительная мощность, необходимые для выполнения сжатия и распаковки. [ нужна ссылка ]
Примечательно, что крупномасштабные проекты поисковых систем включают стоимость хранения, а также затраты на электроэнергию для его питания. Таким образом, сжатие является мерой стоимости. [ нужна ссылка ]
Парсинг документов
[ редактировать ]Анализ документа разбивает компоненты (слова) документа или другой формы носителя для вставки в прямой и инвертированный индексы. Найденные слова называются токенами , и поэтому в контексте индексации поисковыми системами и обработки естественного языка синтаксический анализ чаще называют токенизацией . Его также иногда называют устранением неоднозначности границ слов , тегированием , сегментацией текста , контент-анализом , анализом текста, интеллектуальным анализом текста , генерацией согласованности , сегментацией речи , лексическим или лексическим анализом . Термины «индексация», «синтаксический анализ» и «токенизация» используются в корпоративном сленге как синонимы.
Обработка естественного языка является предметом постоянных исследований и технологических усовершенствований. Токенизация создает множество проблем при извлечении необходимой информации из документов для индексации для обеспечения качественного поиска. Токенизация для индексации включает в себя множество технологий, реализация которых обычно хранится в корпоративной тайне. [ нужна ссылка ]
Проблемы обработки естественного языка
[ редактировать ]- Неоднозначность границы слова
- Носители английского языка могут поначалу считать токенизацию простой задачей, но это не относится к разработке многоязычного индексатора. В цифровой форме тексты на других языках, таких как китайский или японский, представляют собой более сложную задачу, поскольку слова не имеют четкого разграничения пробелами . Целью токенизации является определение слов, которые пользователи будут искать. Логика, специфичная для языка, используется для правильного определения границ слов, что часто является основанием для разработки синтаксического анализатора для каждого поддерживаемого языка (или для групп языков со схожими маркерами границ и синтаксисом).
- Языковая неоднозначность
- Чтобы помочь правильно ранжировать совпадающие документы, многие поисковые системы собирают дополнительную информацию о каждом слове, например его язык или лексическую категорию ( часть речи ). Эти методы зависят от языка, поскольку синтаксис различается в зависимости от языка. Документы не всегда четко определяют язык документа или точно его представляют. При токенизации документа некоторые поисковые системы пытаются автоматически определить язык документа.
- Разнообразные форматы файлов
- Чтобы правильно определить, какие байты документа представляют собой символы, необходимо правильно обрабатывать формат файла. Поисковые системы, поддерживающие несколько форматов файлов, должны иметь возможность правильно открывать документ и получать к нему доступ, а также иметь возможность маркировать символы документа.
- Неисправное хранилище
- Качество данных естественного языка не всегда может быть идеальным. Неустановленное количество документов, особенно в Интернете, не соответствуют надлежащему файловому протоколу. Двоичные символы могут быть ошибочно закодированы в различных частях документа. Без распознавания этих символов и соответствующей обработки качество индексирования или производительность индексатора могут ухудшиться.
Токенизация
[ редактировать ]В отличие от грамотных людей, компьютеры не понимают структуру документа на естественном языке и не могут автоматически распознавать слова и предложения. Для компьютера документ — это всего лишь последовательность байтов. Компьютеры «не знают», что слова в документе разделяются пробелом. Вместо этого люди должны запрограммировать компьютер так, чтобы он определял, что представляет собой отдельное или отдельное слово, называемое токеном. Такую программу обычно называют токенизатором , парсером или лексером . Многие поисковые системы, а также другое программное обеспечение для обработки естественного языка включают в себя специализированные программы для синтаксического анализа, такие как YACC или Lex .
Во время токенизации анализатор идентифицирует последовательности символов, которые представляют слова и другие элементы, такие как знаки препинания, которые представлены числовыми кодами, некоторые из которых являются непечатаемыми управляющими символами. Анализатор также может идентифицировать такие объекты , как адреса электронной почты , номера телефонов и URL-адреса . При идентификации каждого токена может быть сохранено несколько характеристик, таких как регистр токена (верхний, нижний, смешанный, собственный), язык или кодировка, лексическая категория (часть речи, например «существительное» или «глагол»), позиция, предложение. номер, положение предложения, длина и номер строки.
Распознавание языка
[ редактировать ]Если поисковая система поддерживает несколько языков, обычно первым шагом во время токенизации является определение языка каждого документа; многие из последующих шагов зависят от языка (например, определение корней и разметка частей речи ). Распознавание языка — это процесс, с помощью которого компьютерная программа пытается автоматически идентифицировать или классифицировать язык документа. Другие названия распознавания языка включают классификацию языка, анализ языка, идентификацию языка и маркировку языка. Автоматическое распознавание языка является предметом продолжающихся исследований в области обработки естественного языка . Чтобы определить, к какому языку принадлежат слова, можно использовать таблицу распознавания языков .
Анализ формата
[ редактировать ]Если поисковая система поддерживает несколько форматов документов , документы необходимо подготовить к токенизации. Проблема заключается в том, что многие форматы документов помимо текстового содержимого содержат информацию о форматировании. Например, документы HTML содержат теги HTML, которые определяют информацию о форматировании, такую как начало новой строки, выделение жирным шрифтом, а также шрифта размер или стиль . Если бы поисковая система игнорировала разницу между контентом и «разметкой», в индекс была бы включена посторонняя информация, что привело бы к плохим результатам поиска. Анализ формата — это идентификация и обработка содержимого форматирования, встроенного в документы, которое контролирует способ отображения документа на экране компьютера или его интерпретацию с помощью программного обеспечения. Анализ формата также называется анализом структуры, анализом формата, удалением тегов, удалением формата, нормализацией текста, очисткой текста и подготовкой текста. Задача анализа форматов еще больше усложняется сложностью различных форматов файлов. Некоторые форматы файлов являются собственностью компании и о них раскрывается очень мало информации, тогда как другие хорошо документированы. Распространенные, хорошо документированные форматы файлов, поддерживаемые многими поисковыми системами, включают:
- HTML
- Текстовые файлы ASCII (текстовый документ без специального машиночитаемого форматирования)
- Adobe Портативный формат документов ( PDF )
- Постскриптум (ПС)
- Латекс
- UseNet Форматы серверов сетевых новостей
- XML и его производные, такие как RSS
- СГМЛ
- мультимедийных метаданных, Форматы такие как ID3.
- Microsoft Word
- Майкрософт Эксель
- Microsoft PowerPoint
- IBM Lotus Notes
Варианты работы с различными форматами включают использование общедоступного коммерческого инструмента синтаксического анализа, предлагаемого организацией, которая разработала, поддерживает формат или владеет им, а также написание собственного синтаксического анализатора .
Некоторые поисковые системы поддерживают проверку файлов, хранящихся в сжатом или зашифрованном формате. При работе со сжатым форматом индексатор сначала распаковывает документ; в результате этого шага может возникнуть один или несколько файлов, каждый из которых необходимо индексировать отдельно. Обычно поддерживаемые форматы сжатых файлов включают:
- ZIP — ZIP-архив.
- RAR - Roshal ARchive file
- CAB — Microsoft Windows файл кабинета
- Gzip — файл, сжатый с помощью gzip.
- BZIP — файл, сжатый с помощью bzip2.
- Tape ARchive (TAR) , Unix , не сжатый (сам по себе). архивный файл
- TAR.Z, TAR.GZ или TAR.BZ2 — Unix , сжатые с помощью Compress, GZIP или BZIP2. архивные файлы
Анализ формата может включать методы улучшения качества, чтобы избежать включения в индекс «неверной информации». Контент может манипулировать информацией о форматировании для включения дополнительного контента. Примеры злоупотребления форматированием документа для спамдексирования :
- Включение сотен или тысяч слов в раздел, который скрыт от просмотра на экране компьютера, но виден индексатору, с помощью форматирования (например, скрытого тега «div» в HTML , который может включать использование CSS или JavaScript для выполнения так).
- Установка цвета шрифта переднего плана слов таким же, как цвет фона, что делает слова скрытыми на экране компьютера для человека, просматривающего документ, но не скрытыми для индексатора.
Распознавание разделов
[ редактировать ]Некоторые поисковые системы включают распознавание разделов, идентификацию основных частей документа перед токенизацией. Не все документы в корпусе читаются как хорошо написанная книга, разделенная на организованные главы и страницы. Многие документы в Интернете , такие как информационные бюллетени и корпоративные отчеты, содержат ошибочное содержание и боковые разделы, которые не содержат основного материала (того, о чем идет речь в документе). Например, в этой статье отображается боковое меню со ссылками на другие веб-страницы. Некоторые форматы файлов, такие как HTML или PDF, позволяют отображать содержимое в столбцах. Несмотря на то, что контент отображается или визуализируется в разных областях представления, содержимое необработанной разметки может хранить эту информацию последовательно. Слова, которые появляются последовательно в исходном содержимом, индексируются последовательно, даже если эти предложения и абзацы отображаются в разных частях экрана компьютера. Если поисковые системы индексируют этот контент, как если бы это был обычный контент, качество индексации и качество поиска могут ухудшиться из-за смешанного контента и неправильной близости слов. Отмечаются две основные проблемы:
- Содержимое разных разделов рассматривается в индексе как связанное, хотя на самом деле это не так.
- Содержимое боковой панели организации включено в индекс, но содержимое боковой панели не влияет на смысл документа, и индекс заполнен плохим представлением входящих в него документов.
Анализ разделов может потребовать, чтобы поисковая система реализовала логику рендеринга каждого документа, по сути, абстрактное представление фактического документа, а затем вместо этого индексировала это представление. Например, некоторый контент в Интернете отображается с помощью JavaScript. Если поисковая система не отображает страницу и не оценивает JavaScript на странице, она не будет «видеть» это содержимое таким же образом и будет неправильно индексировать документ. Учитывая, что некоторые поисковые системы не беспокоятся о проблемах с рендерингом, многие дизайнеры веб-страниц избегают отображения контента с помощью JavaScript или используют тег Noscript , чтобы гарантировать правильную индексацию веб-страницы. В то же время этот факт также можно использовать , чтобы заставить индексатор поисковой системы «видеть» другой контент, чем зритель.
Система приоритетов HTML
[ редактировать ]Возможно, этот раздел содержит оригинальные исследования . ( Ноябрь 2013 г. ) |
Индексированию часто приходится распознавать HTML- теги для организации приоритета. Индексирование от низкого приоритета к высокому значению для таких ярлыков, как «сильный» и «ссылка», для оптимизации порядка приоритета, если эти ярлыки находятся в начале текста, не может оказаться релевантным. Некоторые индексаторы, такие как Google и Bing, гарантируют, что поисковая система не воспринимает большие тексты как релевантный источник из-за совместимости систем строгого типа. [23]
Индексирование метатегов
[ редактировать ]Индексирование метатегов играет важную роль в организации и категоризации веб-контента. Конкретные документы часто содержат встроенную метаинформацию, такую как автор, ключевые слова, описание и язык. Для страниц HTML метатег содержит ключевые слова, которые также включены в индекс. Ранее технология поисковых систем Интернета индексировала только ключевые слова в метатегах для прямого индекса; полный документ не будет проанализирован. В то время полнотекстовое индексирование не было так хорошо развито, и компьютерное оборудование не могло поддерживать такую технологию. Дизайн языка разметки HTML изначально включал поддержку метатегов с целью правильной и простой индексации без необходимости токенизации. [24]
По мере роста Интернета в 1990-е годы многие традиционные корпорации вышли в «онлайн» и создали корпоративные веб-сайты. Ключевые слова, используемые для описания веб-страниц (многие из которых были корпоративными веб-страницами, похожими на брошюры о продуктах), изменились с описательных на маркетинговые ключевые слова, предназначенные для стимулирования продаж за счет размещения веб-страницы на высоких позициях в результатах поиска по конкретным поисковым запросам. Тот факт, что эти ключевые слова были указаны субъективно, привел к спамдексированию , что побудило многие поисковые системы принять технологии полнотекстового индексирования в 1990-х годах. Разработчики поисковых систем и компании могли поместить в содержимое веб-страницы лишь определенное количество «маркетинговых ключевых слов», прежде чем лишить ее всей интересной и полезной информации. Учитывая этот конфликт интересов с бизнес-целью создания ориентированных на пользователя веб-сайтов, которые были бы «прилипчивыми», уравнение ценности жизни клиента было изменено, чтобы включить в веб-сайт более полезный контент в надежде удержать посетителя. В этом смысле полнотекстовое индексирование было более объективным и повышало качество результатов поисковых систем, поскольку было еще одним шагом в сторону от субъективного контроля размещения результатов поисковых систем, что, в свою очередь, способствовало исследованию технологий полнотекстового индексирования.
В настольном поиске многие решения включают метатеги, позволяющие авторам дополнительно настраивать, как поисковая система будет индексировать контент из различных файлов, который не очевиден из содержимого файла. Поиск на рабочем столе в большей степени находится под контролем пользователя, в то время как поисковые системы Интернета должны уделять больше внимания полнотекстовому индексу.
См. также
[ редактировать ]- Контролируемый словарный запас
- Индекс базы данных
- Полнотекстовый поиск
- Извлечение информации
- Мгновенная индексация
- Ключевое слово в контексте
- Поиск по выбору
- Карта сайта
- Поиск текста
- Информационная грамотность
Ссылки
[ редактировать ]- ^ Кларк, К., Кормак, Г.: Динамические инвертированные индексы для распределенной системы полнотекстового поиска. TechRep MT-95-01, Университет Ватерлоо, февраль 1995 г.
- ^ Сикос, LF (август 2016 г.). «Инструменты семантической аннотации видео на базе RDF с отображением концепций в связанных данных для индексации видео следующего поколения» . Мультимедийные инструменты и приложения . дои : 10.1007/s11042-016-3705-7 . S2CID 254832794 . [ постоянная мертвая ссылка ]
- ^ http://www.ee.columbia.edu/~dpwe/papers/Wang03-shazam.pdf [ только URL-адрес PDF ]
- ^ Чарльз Э. Джейкобс, Адам Финкельштейн, Дэвид Х. Салезин. Быстрый запрос изображений с несколькими разрешениями . Департамент компьютерных наук и инженерии Вашингтонского университета. 1995. Проверено в декабре 2006 г.
- ^ Браун, EW: Проблемы с производительностью выполнения при полнотекстовом поиске информации. Факультет компьютерных наук Массачусетского университета в Амхерсте, технический отчет 95-81, октябрь 1995 г.
- ^ Каттинг, Д., Педерсен, Дж.: Оптимизация для динамического обслуживания инвертированного индекса. Труды СИГИР, 405–411, 1990.
- ^ Линейное хеш-разделение . Справочное руководство MySQL 5.1. Проверено в декабре 2006 г.
- ^ trie , Словарь алгоритмов и структур данных , Национальный институт стандартов и технологий США .
- ^ Гасфилд, Дэн (1999) [1997]. Алгоритмы на строках, деревьях и последовательностях: информатика и вычислительная биология . США: Издательство Кембриджского университета. ISBN 0-521-58519-8 . .
- ^ Блэк, Пол Э., инвертированный индекс , Словарь алгоритмов и структур данных , Национальный институт стандартов и технологий США , октябрь 2006 г. Проверено в декабре 2006 г.
- ^ CC Foster, Информационный поиск: хранение и поиск информации с использованием деревьев AVL, Материалы 20-й национальной конференции 1965 г., стр. 192–205, 24–26 августа 1965 г., Кливленд, Огайо, США.
- ^ Ландауэр, Висконсин: Сбалансированное дерево и его использование при поиске информации. IEEE Транс. по электронным компьютерам, Vol. ИС-12, №6, декабрь 1963 г.
- ^ Наборы данных Google Ngram , заархивированные 29 сентября 2013 г. на Wayback Machine, для продажи в LDC. каталоге
- ^ Джеффри Дин и Санджай Гемават. MapReduce: упрощенная обработка данных в больших кластерах. Google, Inc. OSDI. 2004.
- ^ Гроссман, Фридер, Гохарян. IR Основы инвертированного индекса . 2002 г. Проверено в августе 2011 г.
- ^ Тан, Хунцян. Дваркадас, Сандхья . «Гибридное глобальное локальное индексирование для эффективногоОдноранговый поиск информации». Рочестерский университет. Стр. 1. http://www.cs.rochester.edu/u/sandhya/papers/nsdi04.ps
- ^ Бютчер, Стефан; Кларк, Чарльз Лос-Анджелес; Кормак, Гордон В. (2016). Поиск информации: внедрение и оценка поисковых систем (изд. First MIT Press в мягкой обложке). Кембридж, Массачусетс, Лондон, Англия: MIT Press. ISBN 978-0-262-52887-0 .
- ^ Томасик, А. и др.: Дополнительные обновления инвертированных списков для поиска текстовых документов. Краткая версия Технической записки Стэнфордского университета по информатике STAN-CS-TN-93-1, декабрь 1993 г.
- ^ Сергей Брин и Лоуренс Пейдж. Анатомия крупномасштабной гипертекстовой поисковой системы в Интернете . Стэнфордский университет . 1998 г. Проверено в декабре 2006 г.
- ^ HS Кучи. Анализ хранения компрессионного кода для базы данных документов. 1NFOR, I0(i):47-61, февраль 1972 г.
- ^ Стандарт Unicode — Часто задаваемые вопросы . Проверено в декабре 2006 г.
- ^ Оценка объема хранилища . Проверено в декабре 2006 г.
- ^ Инструменты Google для веб-мастеров, «Язык гипертекстовой разметки 5», Конференция по SEO, январь 2012 г.
- ^ Бернерс-Ли, Т., «Язык гипертекстовой разметки - 2.0», RFC 1866, Сетевая рабочая группа, ноябрь 1995 г.
Дальнейшее чтение
[ редактировать ]- Р. Байер и Э. МакКрайт. Организация и обслуживание крупных упорядоченных индексов. Акта Информатика, 173–189, 1972.
- Дональд Э. Кнут . Искусство компьютерного программирования , том 1 (3-е изд.): фундаментальные алгоритмы, Addison Wesley Longman Publishing Co., Редвуд-Сити, Калифорния, 1997.
- Дональд Э. Кнут . Искусство компьютерного программирования, том 3: (2-е изд.) Сортировка и поиск, Addison Wesley Longman Publishing Co. Редвуд-Сити, Калифорния, 1998.
- Джеральд Солтон . Автоматическая обработка текста, Addison-Wesley Longman Publishing Co., Inc., Бостон, Массачусетс, 1988.
- Джерард Солтон . Майкл Дж. МакГилл, Введение в современный поиск информации, McGraw-Hill, Inc., Нью-Йорк, Нью-Йорк, 1986.
- Джерард Солтон . Леск, М.Э.: Компьютерная оценка индексации и обработки текста. Журнал АКМ. Январь 1968 года.
- Джерард Солтон . Поисковая система SMART - эксперименты по автоматической обработке документов. Prentice Hall Inc., Энглвуд Клиффс, 1971 год.
- Джерард Солтон . Преобразование, анализ и поиск информации с помощью компьютера, Аддисон-Уэсли, Ридинг, Массачусетс, 1989.
- Баеза-Йейтс Р., Рибейро-Нето Б.: Современный поиск информации. Глава 8. ACM Press, 1999.
- ГК Зипф. Человеческое поведение и принцип наименьшего усилия. Аддисон-Уэсли, 1949 год.
- Адельсон-Вельский Г.М., Лэндис Е.М. Алгоритм организации информации. ДАНСССР, 146, 263-266 (1962).
- Эдвард Х. Сассенгут-младший , Использование древовидных структур для обработки файлов, Коммуникации ACM, т.6, №5, с. 272-279, май 1963 г.
- Харман, Д.К. и др.: Инвертированные файлы. В информационном поиске: структуры данных и алгоритмы, Прентис-Холл, стр. 28–43, 1992.
- Лим Л. и др.: Характеристика изменений веб-документов, LNCS 2118, 133–146, 2001.
- Лим Л. и др.: Динамическое обслуживание веб-индексов с использованием ориентиров. Учеб. 12-й конференции W3, 2003 г.
- Моффат А., Зобель Дж.: Самоиндексируемые инвертированные файлы для быстрого поиска текста. ACM TIS, 349–379, октябрь 1996 г., том 14, номер 4.
- Мельхорн, К .: Структуры данных и эффективные алгоритмы, Springer Verlag, Монографии EATCS, 1984.
- Мельхорн, К. , Овермарс, М.Х .: Оптимальная динамизация разложимых задач поиска. ИПЛ 12, 93–98, 1981.
- Мельхорн, К .: Нижние границы эффективности преобразования статических структур данных в динамические структуры данных. Математика. Теория систем 15, 1–16, 1981.
- Костер, М.: ALIWEB: Индексирование в Интернете по принципу Archie. Компьютерные сети и системы ISDN, Vol. 27, № 2 (1994) 175–182 (см. также Proc. First Int'l World Wide Web Conf., Elsevier Science, Амстердам, 1994, стр. 175–182).
- Серж Абитбул и Виктор Виану . Запросы и вычисления в Интернете . Материалы международной конференции по теории баз данных. Дельфи, Греция, 1997 г.
- Ян Х. Виттен, Алистер Моффат и Тимоти К. Белл. Управление гигабайтами: сжатие и индексирование документов и изображений. Нью-Йорк: Ван Ностранд Рейнхольд, 1994.
- А. Эмтаж и П. Дойч, «Арчи — служба электронных каталогов для Интернета». Учеб. Usenix, зима 1992 г., техн. Conf., Usenix Assoc., Беркли, Калифорния, 1992, стр. 93–110.
- М. Грей, странник Всемирной паутины .
- Д. Каттинг и Дж. Педерсен. «Оптимизация для динамического обслуживания инвертированных индексов». Материалы 13-й Международной конференции по исследованиям и разработкам в области поиска информации, стр. 405–411, сентябрь 1990 г.
- Стефан Бютчер, Чарльз Л.А. Кларк и Гордон В. Кормак. Поиск информации: внедрение и оценка поисковых систем. Архивировано 5 октября 2020 г. в Wayback Machine . MIT Press, Кембридж, Массачусетс, 2010.