Построение индекса

Построение индекса Из настоящей главы вы узнаете, как создать инвертированный индекс. Этот процесс называется построением индекса (index construction) или индексированием (indexing). Процесс или машина, выполняющая такую работу, называется индексатором (indexer). Разработка алгоритмов индексирования ограничена возможностями аппаратного обеспечения. По этой причине мы начнем эту главу с обзора основ компьютерного аппаратного обеспечения, имеющего отношение к индексированию. После этого мы опишем блочное индексирование, основанное на сортировке (blocked sort-based indexing)— эффективный одномашинный алгоритм для работы со статическими коллекциями. Его можно рассматривать как масштабируемый вариант простого алгоритма индексирования, основанного на сортировке . О описывается однопроходное индексирование в оперативной памяти (single-pass in-memory indexing). Этот алгоритм обладает еще более широкими возможностями масштабирования, поскольку не предусматривает хранения лексикона в памяти. Для поиска по очень большим коллекциям например, в сети веб— индексирование должно быть распределено по кластерам, со-стоящим из сотен или тысяч компьютеров. Для работы с коллекциями, Подверженными частым изменениям, необходимо динамическое индексирование. Оно обеспечивает немедленное отражение в индексе изменений, произошедших в коллекции. В заключение мы рассмотрим несколько более сложных вопросов, возникающих в связи с индексами, например безопасность и индексы для поиска с ранжированием.

Построение индекса связано с несколькими темами, изложенными в других главах. Для индексирования необходим исходный текст, но документы кодируются многими. Индексатор читает и пишет, а также сжимает и распаковывает как промежуточные файлы индекса, так и окончательный индекс. При вебпоиске документы хранятся не в локальной файловой системе, а должны загружаться специальным роботом. В корпоративных системах большинство документов инкапсулированы в разных информационных системах, почтовых приложениях и базах данных. Несмотря на то что большинство этих приложений доступны по протоколу http, обычно более эффективными оказываются их собственные интерфейсы прикладного программирования (Application Programming Interfaces — API). Читателям следует знать, что построение подсистем, поставляющих исходный текст процессу индексирования, само по себе может оказаться сложной проблемой. По материалам worldtranslation.org

tel-icq