Full-Text Search

Search facilities have become an increasingly important (and complex) tool to locate relevant information in the vast amount of data that is now structured as XML, whether it is in large text databases or on the Web itself. Searching is a natural use case for XQuery because of its built-in knowledge of XML structures and its syntax, which can be written by reasonably nontechnical users.

XQuery 1.0 contains some limited functionality for searching text. For example, you can use the contains or matches function to search for specific strings inside element content. However, the current features are quite limited, especially for textual XML documents.

The W3C XQuery Working Group is working on a separate recommendation entitled XQuery 1.0 and XPath 2.0 Full-Text that provides specialized operators for full-text searching. These operators will be additions to the XQuery 1.0 syntax, and they will not be supported by all XQuery implementations.

The Full-Text recommendation, currently a working draft, supports the following search functionality:

Boolean operators

Combining search terms using && (and), || (or), ! (not), and not in (mild not)

Stemming

Finding words with the same linguistic stem, for example, finding both "mouse" and "mice" when the search term is "mouse"

Weighting

Specifying weights (priorities) for different search terms

Proximity and order

Specifying how far apart the search terms may be, and in what order

Scope

Searching for multiple terms within the ...

Get XQuery now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.