Індекс пошуку
Після того як ресурси заіндексувати і система склала масив ПІД, починається побудова пошукового апарату. Цілком очевидно, що лобовій перегляд файлу або файлів ПІД займе багато часу, що абсолютно не прийнятно для інтерактивної системи WWW. Для прискорення пошуку будується індекс, яким в більшості систем є набір пов'язаних між собою файлів, орієнтованих на швидкий пошук даних за запитом.Структура і склад індексів різних систем можуть відрізнятися один від одного і залежать від багатьох чинників: розмір масиву пошукових образів, інформаційно-пошуковий мова, розміщення різних компонентів системи і т.п. Розглянемо структуру індексу на прикладі системи [6], для якої можна реалізовувати не тільки примітивний булевої, але і контекстний і зважений пошук, а також ряд інших можливостей, які відсутні у багатьох пошукових системах Internet, наприклад Yahoo. Індекс розглянутої системи складається з таблиці ідентифікаторів сторінок (page-ID), таблиці ключових слів (Keyword-ID), таблиці модифікації сторінок, таблиці заголовків, таблиці гіпертекстових зв'язків, інвертованого (IL) і прямого списку (FL).
Page-ID відображає ідентифікатори сторінок в їх URL, Keyword-ID - кожне ключове слів в унікальний ідентифікатор цього слова, таблиця заголовків - ідентифікатор сторінки в заголовок сторінки, таблиця гіпертекстових посилань - ідентифікатор сторінок в гіпертекстове посилання на цю сторінку. Інвертований список ставить у відповідність кожному ключовому слову документа список пар - ідентифікатор сторінки, позиція слова в сторінці. Прямий список - це масив пошукових образів сторінок. Всі ці файли так чи інакше використовуються при пошуку, але головним серед них є файл інвертованого списку. Результат пошуку в даному файлі - це об'єднання і / або перетин списків ідентифікаторів сторінок. Результуючий список, який перетворюється в список заголовків, забезпечених гіпертекстовими посиланнями повертається користувачеві в його програму перегляду Web. Для того щоб швидко шукати записи інвертованого списку, над ним надбудовується ще декілька файлів, наприклад, файл буквених пар із зазначенням записів інвертованого списку, що починаються з цих пар.Крім цього, застосовується механізм прямого доступу до даних - хешування. Для оновлення індексу використовується комбінація двох підходів. Перший можна назвати корекцією індексу "на ходу" за допомогою таблиці модифікації сторінок. Суть такого рішення досить проста: стара запис індексу посилається на нову, яка і використовується при пошуку. Коли число таких посилань стає достатнім для того, щоб відчути це при пошуку, то відбувається повне оновлення індексу - його перезавантаження. Ефективність пошуку в кожній конкретній ІПС визначається виключно архітектурою індексу. Як правило, спосіб організації цих масивів є "секретом фірми" і її гордістю. Для того щоб переконатися в цьому, досить почитати матеріали OpenText .
Інформаційно-пошуковий мову системи
Індекс - це тільки частина пошукового апарату, прихована від користувача. Другою частиною цього апарату є інформаційно-пошуковий мова (ІПМ), що дозволяє сформулювати запит до системи в простій і наочній формі. Вже давно залишилася позаду романтика створення ІПМ, як природної мови, - саме цей підхід використовувався в системі Wais на перших стадіях її реалізації. Якщо навіть користувачеві пропонується вводити запити на природній мові, то це ще не означає, що система буде здійснювати семантичний розбір запиту користувача.Проза життя полягає в тому, що зазвичай фраза розбивається на слова, з яких видаляються заборонені і загальні слова, іноді проводиться нормалізація лексики, а потім всі слова зв'язуються або логічним AND, або OR. Таким чином, запит типу:
> Software that is used on Unix Platform
буде перетворений в:
> Unix AND Platform AND Software
що буде означати приблизно таке: "Знайди всі документи, в яких слова Unix, Platform і Software зустрічаються одночасно".
Можливі і варіанти. Так, в більшості систем фраза "Unix Platform" буде визначена як ключова фраза і не буде поділятися на окремі слова. Інший підхід полягає в обчисленні ступеня близькості між запитом і документом. Саме цей підхід використовується в Lycos. У цьому випадку відповідно до векторної моделлю подання документів і запитів обчислюється їх міра близькості. Сьогодні відомо близько дюжини різних мір близькості. Найбільш часто застосовується косинус кута між пошуковим чином документа і застосування. Зазвичай ці відсотки відповідності документа запиту і видаються в якості довідкової інформації при списку знайдених документів.
Найбільш розвиненим мовою запитів із сучасних ІПС Internet має Alta Vista. Крім звичайного набору AND, OR, NOT ця система дозволяє використовувати ще й NEAR, що дозволяє організувати контекстний пошук. Всі документ в системі розбиті на поля, тому в запиті можна вказати, в якій частині документа користувач сподівається побачити ключове слово: посилання, заголовок, анотація тощо Можна також задавати полі ранжирування видачі та критерій близькості документів запитом.
