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
  • Field Details

  • Method Details

    • query

      @Auditable(parameters={"store","language","query"}) ResultSet query(StoreRef store, String language, 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, String language, 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
    • query

      @Auditable(parameters="searchParameters") ResultSet query(SearchParameters searchParameters)
      Search using the given SearchParameters
    • selectNodes

      @Auditable(parameters={"contextNodeRef","xpath","parameters","namespacePrefixResolver","followAllParentLinks"}, recordable={true,true,true,false,true}) List<NodeRef> selectNodes(NodeRef contextNodeRef, 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}) List<NodeRef> selectNodes(NodeRef contextNodeRef, String xpath, QueryParameterDefinition[] parameters, NamespacePrefixResolver namespacePrefixResolver, boolean followAllParentLinks, 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}) List<Serializable> selectProperties(NodeRef contextNodeRef, 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}) List<Serializable> selectProperties(NodeRef contextNodeRef, String xpath, QueryParameterDefinition[] parameters, NamespacePrefixResolver namespacePrefixResolver, boolean followAllParentLinks, 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, 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, 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, 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