Более точное определение
«Инвертированный индекс (или как его еще называют "список словопозиций") - это такая структура данных, в которой для каждого термина во всех имеющихся коллекциях документов указаны все коллекции документов в которых этот термин встречается.Рассмотрим пример
Предположим что у нас есть коллекция из 5 текстов:
- t0 = «Самого главного глазами не увидишь»;
- Не все увидишь глазами»;
- t2 = «Главного не увидишь только глазами»;
- t3 = «Сложно увидеть главное»;
- t4 = «Увидеть глазами главное».
Для того что бы построить инвертированный список для данной коллекции документов, нам необходимо:
- Составить таблицу последовательности терминов в каждом документе в сопровождении соответствующих идентификаторов документов;
- Отсортировать данную таблицу по алфавиту (по возрастанию);
- Сгруппировать одинаковые термины по слову и отделить идентификаторы документов;
- Упорядочить идентификаторы документов (в нашем случаи подойдет любой вариант сортировки).
Немного таблиц
|
Идентификаторы и термины |
|
| Термины | docID |
| самого | 0 |
| главного | 0 |
| глазами | 0 |
| не | 0 |
| увидишь | 0 |
| не | 1 |
| все | 1 |
| увидишь | 1 |
| глазами | 1 |
| главного | 2 |
| не | 2 |
| увидишь | 2 |
| только | 2 |
| глазами | 2 |
| сложно | 3 |
| увидеть | 3 |
| главное | 3 |
| увидеть | 4 |
| глазами | 4 |
| главное | 4 |
| Сортировка по алфавиту | |
| Термины | docID |
| все | 1 |
| главного | 0 |
| главного | 2 |
| главное | 3 |
| главное | 4 |
| глазами | 0 |
| глазами | 1 |
| глазами | 2 |
| глазами | 4 |
| не | 0 |
| не | 1 |
| не | 2 |
| самого | 0 |
| сложно | 3 |
| только | 2 |
| увидеть | 3 |
| увидеть | 4 |
| увидишь | 0 |
| увидишь | 1 |
| увидишь | 2 |
|
Результат |
||||
| Термины | docID | |||
| все | 1 | |||
| главного | 0 | 2 | ||
| главное | 3 | 4 | ||
| глазами | 0 | 1 | 2 | 3 |
| не | 0 | 1 | 2 | |
| самого | 0 | |||
| сложно | 3 | |||
| только | 2 | |||
| увидеть | 3 | 4 | ||
| увидишь | 0 | 1 | 2 |
Все просто) Помимо идентификаторов терминов, поисковые системы так же хранят и другие данные используемые при ранжировании. Подробнее об этом читайте в следующих постах.
