| Performs a full-text search.
The full-text search expression is evaluated against the set of full-text
indexed properties within the full-text search scope. If
FullTextSearch.getPropertyName property is specified, the full-text search scope
is the property of that name on the
FullTextSearch.getSelectorName selector node
in the node-tuple; otherwise the full-text search scope is all properties
of the
FullTextSearch.getSelectorName selector node (or, in some implementations,
all properties in the node subtree).
Which properties (if any) in a repository are full-text indexed is
implementation determined.
It is also implementation determined whether
FullTextSearch.getFullTextSearchExpression fullTextSearchExpression is
independently evaluated against each full-text indexed property in the
full-text search scope, or collectively evaluated against the set of such
properties using some implementation-determined mechanism.
Similarly, for multi-valued properties, it is implementation determined
whether
FullTextSearch.getFullTextSearchExpression fullTextSearchExpression is
independently evaluated against each element in the array of values, or
collectively evaluated against the array of values using some
implementation-determined mechanism.
At minimum, an implementation must support the following
FullTextSearch.getFullTextSearchExpression fullTextSearchExpression grammar:
fullTextSearchExpression ::= [-]term {whitespace [OR] whitespace [-]term}
term ::= word | '"' word {whitespace word} '"'
word ::= (A string containing no whitespace)
whitespace ::= (A string of only whitespace)
A query satisfies a FullTextSearch constraint if the
value (or values) of the full-text indexed properties within the
full-text search scope satisfy the specified
FullTextSearch.getFullTextSearchExpression fullTextSearchExpression ,
evaluated as follows:
- A term not preceded with "
- " (minus sign) is satisfied
only if the value contains that term.
- A term preceded with "
- " (minus sign) is satisfied only
if the value does not contain that term.
- Terms separated by whitespace are implicitly "ANDed".
- Terms separated by "
OR " are "ORed".
- "AND" has higher precedence than "OR".
- Within a term, each double quote (
" ), "- "
(minus sign), and "\ " (backslash) must be escaped by a
preceding "\ " (backslash).
The query is invalid if:
If
FullTextSearch.getPropertyName property is specified but, for a node-tuple,
the selector node does not have a property named
FullTextSearch.getPropertyNameproperty , the query is valid but the constraint is not satisfied.
since: JCR 2.0 |