Interface SearchService


  • @AlfrescoPublicApi
    public interface SearchService
    This encapsulates the execution of search against different indexing mechanisms. Canned queries have been translated into the query string by this stage. Handling of parameterisation is left to the implementation.
    Author:
    Andy hind
    • Method Detail

      • query

        @Auditable(parameters={"store","language","query"})
        ResultSet query​(StoreRef store,
                        java.lang.String language,
                        java.lang.String query)
        Search against a store. Pulls back all attributes on each node. Does not allow parameterisation.
        Parameters:
        store - - the store against which to search
        language - - the query language
        query - - the query string - which may include parameters
        Returns:
        Returns the query results
      • query

        @Auditable(parameters={"store","language","query","queryParameterDefinitions"})
        ResultSet query​(StoreRef store,
                        java.lang.String language,
                        java.lang.String query,
                        QueryParameterDefinition[] queryParameterDefinitions)
        Search against a store.
        Parameters:
        store - - the store against which to search
        language - - the query language
        query - - the query string - which may include parameters
        queryParameterDefinitions - - query parameter definitions - the default value is used for the value.
        Returns:
        Returns the query results
      • query

        @Auditable(parameters={"store","queryId","queryParameters"})
        ResultSet query​(StoreRef store,
                        QName queryId,
                        QueryParameter[] queryParameters)
        Execute a canned query
        Parameters:
        store - - the store against which to search
        queryId - - the query identifier
        queryParameters - - parameterisation for the canned query
        Returns:
        Returns the query results
      • selectNodes

        @Auditable(parameters={"contextNodeRef","xpath","parameters","namespacePrefixResolver","followAllParentLinks"},
                   recordable={true,true,true,false,true})
        java.util.List<NodeRef> selectNodes​(NodeRef contextNodeRef,
                                            java.lang.String xpath,
                                            QueryParameterDefinition[] parameters,
                                            NamespacePrefixResolver namespacePrefixResolver,
                                            boolean followAllParentLinks)
                                     throws InvalidNodeRefException,
                                            XPathException
        Select nodes using an xpath expression.
        Parameters:
        contextNodeRef - - the context node for relative expressions etc
        xpath - - the xpath string to evaluate
        parameters - - parameters to bind in to the xpath expression, may be null for no parameters
        namespacePrefixResolver - - prefix to namespace mappings
        followAllParentLinks - - if false ".." follows only the primary parent links, if true it follows all
        Returns:
        a list of the node refs of the selected nodes
        Throws:
        InvalidNodeRefException
        XPathException
      • selectNodes

        @Auditable(parameters={"contextNodeRef","xpath","parameters","namespacePrefixResolver","followAllParentLinks","language"},
                   recordable={true,true,true,false,true,true})
        java.util.List<NodeRef> selectNodes​(NodeRef contextNodeRef,
                                            java.lang.String xpath,
                                            QueryParameterDefinition[] parameters,
                                            NamespacePrefixResolver namespacePrefixResolver,
                                            boolean followAllParentLinks,
                                            java.lang.String language)
                                     throws InvalidNodeRefException,
                                            XPathException
        Select nodes using an xpath expression.
        Parameters:
        contextNodeRef - - the context node for relative expressions etc
        xpath - - the xpath string to evaluate
        parameters - - parameters to bind in to the xpath expression, may be null for no parameters
        namespacePrefixResolver - - prefix to namespace mappings
        followAllParentLinks - - if false ".." follows only the primary parent links, if true it follows all
        language - - the xpath variant
        Returns:
        a list of all the node refs of the selected nodes
        Throws:
        InvalidNodeRefException
        XPathException
      • selectProperties

        @Auditable(parameters={"contextNodeRef","xpath","parameters","namespacePrefixResolver","followAllParentLinks"},
                   recordable={true,true,true,false,true})
        java.util.List<java.io.Serializable> selectProperties​(NodeRef contextNodeRef,
                                                              java.lang.String xpath,
                                                              QueryParameterDefinition[] parameters,
                                                              NamespacePrefixResolver namespacePrefixResolver,
                                                              boolean followAllParentLinks)
                                                       throws InvalidNodeRefException,
                                                              XPathException
        Select properties using an xpath expression
        Parameters:
        contextNodeRef - - the context node for relative expressions etc
        xpath - - the xpath string to evaluate
        parameters - - parameters to bind in to the xpath expression
        namespacePrefixResolver - - prefix to namespace mappings
        followAllParentLinks - - if false ".." follows only the primary parent links, if true it follows all
        Returns:
        a list of property values
        Throws:
        InvalidNodeRefException
        XPathException
      • selectProperties

        @Auditable(parameters={"contextNodeRef","xpath","parameters","namespacePrefixResolver","followAllParentLinks","language"},
                   recordable={true,true,true,false,true,true})
        java.util.List<java.io.Serializable> selectProperties​(NodeRef contextNodeRef,
                                                              java.lang.String xpath,
                                                              QueryParameterDefinition[] parameters,
                                                              NamespacePrefixResolver namespacePrefixResolver,
                                                              boolean followAllParentLinks,
                                                              java.lang.String language)
                                                       throws InvalidNodeRefException,
                                                              XPathException
        Select properties using an xpath expression
        Parameters:
        contextNodeRef - - the context node for relative expressions etc
        xpath - - the xpath string to evaluate
        parameters - - parameters to bind in to the xpath expression
        namespacePrefixResolver - - prefix to namespace mappings
        followAllParentLinks - - if false ".." follows only the primary parent links, if true it follows all
        language - - the xpath variant
        Returns:
        a list of property values
        Throws:
        InvalidNodeRefException
        XPathException
      • contains

        @Auditable(parameters={"nodeRef","propertyQName","googleLikePattern"})
        boolean contains​(NodeRef nodeRef,
                         QName propertyQName,
                         java.lang.String googleLikePattern)
                  throws InvalidNodeRefException
        Search for string pattern in both the node text (if present) and node properties
        Parameters:
        nodeRef - the node to get
        propertyQName - the name of the property
        googleLikePattern - a Google-like pattern to search for in the property value
        Returns:
        Returns true if the pattern could be found - uses the default OR operator
        Throws:
        InvalidNodeRefException
      • contains

        @Auditable(parameters={"nodeRef","propertyQName","googleLikePattern","defaultOperator"})
        boolean contains​(NodeRef nodeRef,
                         QName propertyQName,
                         java.lang.String googleLikePattern,
                         SearchParameters.Operator defaultOperator)
                  throws InvalidNodeRefException
        Search for string pattern in both the node text (if present) and node properties
        Parameters:
        nodeRef - the node to get
        propertyQName - the name of the property
        googleLikePattern - a Google-like pattern to search for in the property value
        Returns:
        Returns true if the pattern could be found
        Throws:
        InvalidNodeRefException
      • like

        @Auditable(parameters={"nodeRef","propertyQName","sqlLikePattern","includeFTS"})
        boolean like​(NodeRef nodeRef,
                     QName propertyQName,
                     java.lang.String sqlLikePattern,
                     boolean includeFTS)
              throws InvalidNodeRefException
        Search for string pattern in both the node text (if present) and node properties
        Parameters:
        nodeRef - the node to get
        propertyQName - the name of the property (mandatory)
        sqlLikePattern - a SQL-like pattern to search for
        includeFTS - - include full text search matches in the like test
        Returns:
        Returns true if the pattern could be found
        Throws:
        InvalidNodeRefException