org.alfresco.service.cmr.search
Interface SearchService


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.


Field Summary
static java.lang.String LANGUAGE_CMIS_ALFRESCO
           
static java.lang.String LANGUAGE_CMIS_STRICT
           
static java.lang.String LANGUAGE_FTS_ALFRESCO
           
static java.lang.String LANGUAGE_JCR_XPATH
           
static java.lang.String LANGUAGE_LUCENE
           
static java.lang.String LANGUAGE_SOLR_ALFRESCO
           
static java.lang.String LANGUAGE_SOLR_CMIS
           
static java.lang.String LANGUAGE_SOLR_FTS_ALFRESCO
           
static java.lang.String LANGUAGE_XPATH
           
 
Method Summary
 boolean contains(NodeRef nodeRef, QName propertyQName, java.lang.String googleLikePattern)
          Search for string pattern in both the node text (if present) and node properties
 boolean contains(NodeRef nodeRef, QName propertyQName, java.lang.String googleLikePattern, SearchParameters.Operator defaultOperator)
          Search for string pattern in both the node text (if present) and node properties
 boolean like(NodeRef nodeRef, QName propertyQName, java.lang.String sqlLikePattern, boolean includeFTS)
          Search for string pattern in both the node text (if present) and node properties
 ResultSet query(SearchParameters searchParameters)
          Search using the given SearchParameters
 ResultSet query(StoreRef store, QName queryId, QueryParameter[] queryParameters)
          Execute a canned query
 ResultSet query(StoreRef store, java.lang.String language, java.lang.String query)
          Search against a store.
 ResultSet query(StoreRef store, java.lang.String language, java.lang.String query, QueryParameterDefinition[] queryParameterDefinitions)
          Search against a store.
 java.util.List selectNodes(NodeRef contextNodeRef, java.lang.String xpath, QueryParameterDefinition[] parameters, NamespacePrefixResolver namespacePrefixResolver, boolean followAllParentLinks)
          Select nodes using an xpath expression.
 java.util.List selectNodes(NodeRef contextNodeRef, java.lang.String xpath, QueryParameterDefinition[] parameters, NamespacePrefixResolver namespacePrefixResolver, boolean followAllParentLinks, java.lang.String language)
          Select nodes using an xpath expression.
 java.util.List selectProperties(NodeRef contextNodeRef, java.lang.String xpath, QueryParameterDefinition[] parameters, NamespacePrefixResolver namespacePrefixResolver, boolean followAllParentLinks)
          Select properties using an xpath expression
 java.util.List selectProperties(NodeRef contextNodeRef, java.lang.String xpath, QueryParameterDefinition[] parameters, NamespacePrefixResolver namespacePrefixResolver, boolean followAllParentLinks, java.lang.String language)
          Select properties using an xpath expression
 

Field Detail

LANGUAGE_LUCENE

static final java.lang.String LANGUAGE_LUCENE
See Also:
Constant Field Values

LANGUAGE_XPATH

static final java.lang.String LANGUAGE_XPATH
See Also:
Constant Field Values

LANGUAGE_JCR_XPATH

static final java.lang.String LANGUAGE_JCR_XPATH
See Also:
Constant Field Values

LANGUAGE_FTS_ALFRESCO

static final java.lang.String LANGUAGE_FTS_ALFRESCO
See Also:
Constant Field Values

LANGUAGE_SOLR_FTS_ALFRESCO

static final java.lang.String LANGUAGE_SOLR_FTS_ALFRESCO
See Also:
Constant Field Values

LANGUAGE_CMIS_STRICT

static final java.lang.String LANGUAGE_CMIS_STRICT
See Also:
Constant Field Values

LANGUAGE_CMIS_ALFRESCO

static final java.lang.String LANGUAGE_CMIS_ALFRESCO
See Also:
Constant Field Values

LANGUAGE_SOLR_CMIS

static final java.lang.String LANGUAGE_SOLR_CMIS
See Also:
Constant Field Values

LANGUAGE_SOLR_ALFRESCO

static final java.lang.String LANGUAGE_SOLR_ALFRESCO
See Also:
Constant Field Values
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
queryParameterDefinition - - 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})
java.util.List 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
namespacePrefixResolver - - prefix to namespace mappings
followAllParentLinks - - if false ".." follows only the primary parent links, if true it follows all
Returns:
a list of all the child assoc relationships to 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 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
namespacePrefixResolver - - prefix to namespace mappings
followAllParentLinks - - if false ".." follows only the primary parent links, if true it follows all
langauage - - the xpath variant
Returns:
a list of all the child assoc relationships to the selected nodes
Throws:
InvalidNodeRefException
XPathException

selectProperties

@Auditable(parameters={"contextNodeRef", "xpath", "parameters", "namespacePrefixResolver", "followAllParentLinks"},
           recordable={true, true, true, false, true})
java.util.List 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 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
langauage - - 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


Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.