- 17 февраля 2003 г.
Рабочий проект спецификации для поиска по полному тексту
Рабочие группы международного консорциума W3C обнародовали две рабочие версии
спецификаций полнотекстового поиска, являющиеся расширением языка XQuery/XPath.
Наши постоянные читатели, разумеется, помнят об инициативах Рабочих групп XSL и XML Query международной организации W3C. Совсем недавно члены этих групп выпустили два начальных рабочих проекта для поиска по полному тексту. Данные документы: XQuery и XPath Full-Text Requirements (Требования к XQuery и XPath для полнотекстового поиска) и XQuery и XPath Full-Text Use Cases (Случаи использования XQuery и XPath для полнотекстового поиска) - были обнародованы в рамках программы консорциума XML Activity. "Поиск по полному тексту" в этом контексте подразумевает "расширение языка XQuery/XPath". Эта технология предоставляет способ задания запросов к тексту, который снабжен метками, то есть, разбит на последовательность слов, единиц пунктуации и пробелов. Задание меток (tokenization) предусматривает использование функций и операторов, которые обрабатывают относительное позиционирование слов (например, операторы соседства (proximity operators)). Задание меток также допускает функции и операторы, которые взаимодействуют с частью или корнем слова (например, групповые символы (wildcard), ветвления (stemming)).
Согласно первой спецификации, функции XQuery/XPath для полнотекстового поиска должны оперировать экземплярами модели данных (Data Model) XQuery/XPath, в этом случае полнотекстовому поиску не требуется выступать в качестве языка пользовательского интерфейса. Если функция XQuery/XPath полнотекстового поиска может включать более одного синтаксического связывания, синтаксис языка запроса должен быть удобен для чтения и написания, а также быть выражен на XML в виде, который отражает базовую структуру этого запроса. Если функция XQuery/XPath полнотекстового поиска поддерживает поиск по именам элементов и атрибутов, она должна различать содержание элемента, значения атрибутов, имена элементов и атрибуты.
Второй документ - XQuery и XPath Full-Text Use Cases - демонстрирует случаи применения полнотекстовых запросов на языке XML-запросов. В каждом случае задействована определенная функциональность, относящаяся к выполнению полнотекстовых запросов - для наглядности в документе приводятся схема и входные данные. Указанные запросы выполняются по тексту, снабженному метками.
В соответствии с Требованиями рабочего проекта, функции XQuery/XPath для полнотекстового поиска должен обеспечивать - в рамках этой первой версии - следующий минимальный набор функциональности:
- поиск изолированных слов (single-word search);
- поиск фраз (phrase search);
- поддержка исключаемых слов (support for stopwords);
- одно-символьный суффикс (single character suffix);
- суффикс, включающий 0 или более символов (0 or more character suffix);
- префикс, включающий 0 или более символов (0 or more character prefix);
- инфикс, включающий 0 или более символов (0 or more character infix);
- поиск соседства (единицы: слова) (proximity searching (unit: words));
- указание порядка поиска соседства (specification of order in proximity searching);
- сочетание с использованием AND (combination using AND);
- сочетание с использованием OR (combination using OR);
- сочетание с использованием OR (combination using NOT);
- нормализация слова, диакритики (word normalization, diacritics);
- ранжирование, релевантность (ranking, relevance).
Второй документ - XQuery и XPath Full-Text Use Cases - включает следующие примеры применения этой технологии:
- Случай использования "Слово": запросы по словам и фразам;
- Случай использования "Элемент": запросы к элементам и атрибутам XML;
- Случай использования "Исключаемые слова": запросы, пропускающие и подменяющие исключаемые слова";
- Случай использования "Манипулирование символами": запросы, манипулирующие нормализованными символами и словами, снабженными метками, пробелами и знаками пунктуации;
- Случай использования "Групповые символы": групповые символы (префикс, инфикс, суффикс) и запросы по групповым словам;
- Случай использования "Ветвления": запросы по словам ветвления;
- Случай использования "Тезаурус": запросы, использующие тезаурус, словари и таксономии;
- Случай использования "Булево выражение": запросы с Or, And и Not;
- Случай использования "Интервал": запросы к отношениям интервала, включая запросы по соседству, окну, предложению и абзацу;
- Случай использования "Сложное слово": запросы по сложному слову и фразе;
- Случай использования "Метка": запросы, уникальные по метке;
- Случай использования "Структура": запросы, использующие оси XPath;
- Случай использования "Пропустить": запросы, пропускающие теги и содержание;
- Случай использования "Компонуемость": запросы, демонстрирующие компонуемость полного текста с другой функциональностью XQuery;
- Случай использования "Сложные": сложные запросы.
По заявлению членов Рабочих групп, предложенные документы являются рабочими проектами, то есть многие вопросы пока остаются открытыми и подлежат дальнейшему рассмотрению. Так, требования, перечисленные в спецификации XQuery и XPath Full-Text Requirements, носят исключительно рекомендательный характер. Что же касается второго проекта, то Рабочие группы не несут никакой ответственности за возможные последствия реализации сценариев применения данной технологии.
Автор: По материалам зарубежных сайтов