2010/04/29 13:26:39

Алгоритмы поиска

* Прямой поиск — последовательный перебор всех данных;

  • Инвертированных индексов — список слов (индекс-файл) документированные в алфавитном порядке с указание позиции и других параметров вхождения слова документа.

Содержание

Обратный индекс

Как вы наверное догадались поисковиками используется алгоритм инвертированных индексов, т. к. использование прямого поиска гораздо более ресурсоемко. Восстановление из обратного индекса произойдет с потерями (падежи, дефисы, запятые, и т. п.). Поэтому также хранится прямой индекс документа для отображения сниппета (фрагмент найденного текста документа отображаемый в поиске).

Пример

Документ

Жил-был поп, Толоконный лоб. Пошел поп по базару Посмотреть кой-какого товару.


Обратный индекс документа

базар (3,4) был (1,2) жил (1,1) какой (1,1) кой (4,2) лоб (2,1) по (3,3) поп (1,3) (3,2)

Параметры указаны самые примитивные и только для примера — (строка, позиция в строке). В параметрах также хранятся падежи слов, и принадлежность к пассажу.

Математическая модель

При поиске используется 3 типа математических моделей, вот они:

  • Булевские (логические) — есть слово — найден, нет — не найден;
  • Векторные (используются всеми ПС) — вес документа = TF * IDF

TF — частота слова в документе, IDF — редкость слова в коллекции

  • Вероятностная — подбор выдачи в ручную (с помощью асессоров) — самостоятельное определение релевантности страниц

Ссылки

SEO — Теория. Часть 1: Алгоритмы