Информационно-поисковые языки являются основными компонентами информационно-поисковых систем, с помощью которых, в частности, реализуются интерфейсы между пользователями и системами.
В отличие от реляционных СУБД, у систем полнотекстового поиска не существует стандартизированного языка запросов. У каждой системы этого типа существует свой способ задания критериев поиска.
Очень часто языки запросов ИПС приближенны к SQL, однако каждой из поисковых систем присущий ряд индивидуальных особенностей, связанных с такими моментами, как:
- интерпретация операций, задающих порядок расположения слов в тексте (операций контекстной близости);
- вычисление уровня релевантности найденных документов запросам для представления результатов поиска;
- применение нестандартных для реляционных СУБД функций, например, таких как нахождение документов по принципу подобия содержания, построение дайджестов из фрагментов документов, сниппетов (от англ. snippet – фрагмент, отрывок), включаемых поисковыми системами в списки найденных документов и т.п.
В различных полнотекстовых информационно-поисковых системах применяются различные архитектурные решения, охватывающие структуры данных, алгоритмы их обработки, методы организации поиска. Вместе с тем, у современных информационно-поисковых систем много общих свойств, например, все из них обеспечивают поиск хотя бы по одному слову, большинство подобных систем реализуют грамматический поиск как результат применения лингвистического анализа (например, в русскоязычных системах Апорт, Яндекс и Рамблер по терму из запроса “человек” находятся не только словоизменения “человека”, “человеку”, но и множественное число – “люди”). Большинство из современных систем способны реализовывать контекстный поиск фразы, заключенной в кавычки (Google, Alltheweb, AltaVista, Яндекс и т.п.), поиск с использованием булевых операторов AND, OR и NOT, а также возможностью указания скобок для группирования термов и операторов. Функции контекстной близости в свое время получили наибольшее развитие в системе Lycos, где были реализованы с помощью четырех операторов: ADJ, NEAR, FAR и BEFORE.
В самой популярной в мире системе Google используется достаточно лаконичный набор операторов (www.googleguide.com), основные из которых - это конъюнкция (подразумевается по умолчанию, система выдает документы, содержащие все слова запроса), дизъюнкция (OR) и отрицание (-).
Отдельно рассматривается возможность поиска по параметрам документов, которая чаще всего позволяет ограничивать диапазон поиска значениями URL, дат, заголовков. В большей части систем выйти на возможность поиска по параметрам можно из режима расширенного поиска.
В Google, например, обеспечивается поиск по сайту ("site:"), определение ссылок на сайт ("admission site:"), поиск по ценам, например "DVD player $150..250", странам, датам, доменам и т.п. Во многих системах обеспечивается поиск не только по данным в формате HTML, но и в форматах PDF, RTF, DOC (MsWord), PS.
В последнее время получили распространение адаптивные интерфейсы уточнения запросов, чаще всего реализованные путем применения методов кластерного анализа к результатам первичного поиска. Появилось такое понятие, как метод "папок поиска" (Custom Search Folders), объединяющее множество подходов, общее в которых - попытка сгруппировать результаты поиска и представить группы наиболее связанных документов (кластеры) в удобном для пользователей виде.
Например, в поисковых серверах Vivisimo (www.vivisimo.com), Mooter (www.mooter.com) или Nigma (www.nigma.ru) применяется визуальный подход к представлению результатов поиска путем группирования релевантных документов по категориям. В другом поисковом сервере iBoogie (www.iboogie.com) результаты поиска отображаются в виде, близком к экрану проводника Windows. Слова и словосочетания в так называемых “информационных портретах”, применяемых, например, в корпоративных информационно-аналитических системах Галактика Zoom и InfoStream, также позволяют адаптивно уточнять первичные запросы.