Interface FullTextSearch

  • All Superinterfaces:
    Constraint
    All Known Implementing Classes:
    FullTextSearchImpl

    public interface FullTextSearch
    extends Constraint
    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 property is specified, the full-text search scope is the property of that name on the selector node in the node-tuple; otherwise the full-text search scope is all properties of the selector node (or, in some implementations, all properties in the node subgraph).

    Which properties (if any) in a repository are full-text indexed is implementation determined.

    It is also implementation determined whether 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 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 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 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).
    Since:
    JCR 2.0
    • Method Detail

      • getSelectorName

        java.lang.String getSelectorName()
        Gets the name of the selector against which to apply this constraint.
        Returns:
        the selector name; non-null
      • getPropertyName

        java.lang.String getPropertyName()
        Gets the name of the property.
        Returns:
        the property name if the full-text search scope is a property, otherwise null if the full-text search scope is the node (or node subgraph, in some implementations).
      • getFullTextSearchExpression

        StaticOperand getFullTextSearchExpression()
        Gets the full-text search expression.
        Returns:
        the full-text search expression; non-null