EMZETT.
Войти

Коротко: Инвертированный индекс сопоставляет каждому слову список документов, в которых оно встречается. Он делает полнотекстовый поиск быстрым.

Подробнее: Вместо того чтобы при каждом поиске просматривать все тексты, слово ищут в индексе, как в предметном указателе в конце книги.

Подробности

  • Структура: слово → [ID документа, ...], часто с частотой и позициями (для поиска фраз вроде «красная кошка»).
  • Предобработка: Приведение к нижнему регистру, разбиение на слова (токенизация), основы слов (стемминг), отбрасывание стоп-слов.
  • Несколько слов: Списки пересекаются (И) или объединяются (ИЛИ). Так как они отсортированы, слияние очень быстрое.
  • Ранжирование: Методы вроде TF-IDF и BM25 придают больший вес редким словам. См. гибридный поиск.
  • Применение: Lucene, Elasticsearch, полнотекстовый поиск PostgreSQL (индекс GIN), поисковые системы, поле поиска вики.
  • Цена: Индекс занимает место и должен обновляться при изменениях.

См. также: Elasticsearch