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), andnot 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.