Package org.alfresco.service.cmr.search
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 Summary
Fields Modifier and Type Field Description static String
LANGUAGE_CMIS_ALFRESCO
static String
LANGUAGE_CMIS_STRICT
static String
LANGUAGE_FTS_ALFRESCO
static String
LANGUAGE_INDEX_ALFRESCO
static String
LANGUAGE_INDEX_CMIS
static String
LANGUAGE_INDEX_FTS_ALFRESCO
static String
LANGUAGE_INDEX_SQL
static String
LANGUAGE_LUCENE
static String
LANGUAGE_SOLR_ALFRESCO
Deprecated.static String
LANGUAGE_SOLR_CMIS
Deprecated.static String
LANGUAGE_SOLR_FTS_ALFRESCO
Deprecated.static String
LANGUAGE_SOLR_SQL
Deprecated.static String
LANGUAGE_XPATH
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
contains(NodeRef nodeRef, QName propertyQName, String googleLikePattern)
Search for string pattern in both the node text (if present) and node propertiesboolean
contains(NodeRef nodeRef, QName propertyQName, String googleLikePattern, SearchParameters.Operator defaultOperator)
Search for string pattern in both the node text (if present) and node propertiesboolean
like(NodeRef nodeRef, QName propertyQName, String sqlLikePattern, boolean includeFTS)
Search for string pattern in both the node text (if present) and node propertiesResultSet
query(StoreRef store, String language, String query)
Search against a store.ResultSet
query(StoreRef store, String language, String query, QueryParameterDefinition[] queryParameterDefinitions)
Search against a store.ResultSet
query(StoreRef store, QName queryId, QueryParameter[] queryParameters)
Execute a canned queryResultSet
query(SearchParameters searchParameters)
Search using the given SearchParametersList<NodeRef>
selectNodes(NodeRef contextNodeRef, String xpath, QueryParameterDefinition[] parameters, NamespacePrefixResolver namespacePrefixResolver, boolean followAllParentLinks)
Select nodes using an xpath expression.List<NodeRef>
selectNodes(NodeRef contextNodeRef, String xpath, QueryParameterDefinition[] parameters, NamespacePrefixResolver namespacePrefixResolver, boolean followAllParentLinks, String language)
Select nodes using an xpath expression.List<Serializable>
selectProperties(NodeRef contextNodeRef, String xpath, QueryParameterDefinition[] parameters, NamespacePrefixResolver namespacePrefixResolver, boolean followAllParentLinks)
Select properties using an xpath expressionList<Serializable>
selectProperties(NodeRef contextNodeRef, String xpath, QueryParameterDefinition[] parameters, NamespacePrefixResolver namespacePrefixResolver, boolean followAllParentLinks, String language)
Select properties using an xpath expression
-
-
-
Field Detail
-
LANGUAGE_LUCENE
static final String LANGUAGE_LUCENE
- See Also:
- Constant Field Values
-
LANGUAGE_XPATH
static final String LANGUAGE_XPATH
- See Also:
- Constant Field Values
-
LANGUAGE_FTS_ALFRESCO
static final String LANGUAGE_FTS_ALFRESCO
- See Also:
- Constant Field Values
-
LANGUAGE_CMIS_STRICT
static final String LANGUAGE_CMIS_STRICT
- See Also:
- Constant Field Values
-
LANGUAGE_CMIS_ALFRESCO
static final String LANGUAGE_CMIS_ALFRESCO
- See Also:
- Constant Field Values
-
LANGUAGE_INDEX_CMIS
static final String LANGUAGE_INDEX_CMIS
- See Also:
- Constant Field Values
-
LANGUAGE_INDEX_ALFRESCO
static final String LANGUAGE_INDEX_ALFRESCO
- See Also:
- Constant Field Values
-
LANGUAGE_INDEX_SQL
static final String LANGUAGE_INDEX_SQL
- See Also:
- Constant Field Values
-
LANGUAGE_INDEX_FTS_ALFRESCO
static final String LANGUAGE_INDEX_FTS_ALFRESCO
- See Also:
- Constant Field Values
-
LANGUAGE_SOLR_FTS_ALFRESCO
@Deprecated static final String LANGUAGE_SOLR_FTS_ALFRESCO
Deprecated.- See Also:
- Constant Field Values
-
LANGUAGE_SOLR_CMIS
@Deprecated static final String LANGUAGE_SOLR_CMIS
Deprecated.- See Also:
- Constant Field Values
-
LANGUAGE_SOLR_ALFRESCO
@Deprecated static final String LANGUAGE_SOLR_ALFRESCO
Deprecated.- See Also:
- Constant Field Values
-
LANGUAGE_SOLR_SQL
@Deprecated static final String LANGUAGE_SOLR_SQL
Deprecated.- See Also:
- Constant Field Values
-
-
Method Detail
-
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 searchlanguage
- - the query languagequery
- - 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 searchlanguage
- - the query languagequery
- - the query string - which may include parametersqueryParameterDefinitions
- - 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 searchqueryId
- - the query identifierqueryParameters
- - 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 etcxpath
- - the xpath string to evaluateparameters
- - parameters to bind in to the xpath expression, may be null for no parametersnamespacePrefixResolver
- - prefix to namespace mappingsfollowAllParentLinks
- - 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 etcxpath
- - the xpath string to evaluateparameters
- - parameters to bind in to the xpath expression, may be null for no parametersnamespacePrefixResolver
- - prefix to namespace mappingsfollowAllParentLinks
- - if false ".." follows only the primary parent links, if true it follows alllanguage
- - 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 etcxpath
- - the xpath string to evaluateparameters
- - parameters to bind in to the xpath expressionnamespacePrefixResolver
- - prefix to namespace mappingsfollowAllParentLinks
- - 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 etcxpath
- - the xpath string to evaluateparameters
- - parameters to bind in to the xpath expressionnamespacePrefixResolver
- - prefix to namespace mappingsfollowAllParentLinks
- - if false ".." follows only the primary parent links, if true it follows alllanguage
- - 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 getpropertyQName
- the name of the propertygoogleLikePattern
- 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 getpropertyQName
- the name of the propertygoogleLikePattern
- 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 getpropertyQName
- the name of the property (mandatory)sqlLikePattern
- a SQL-like pattern to search forincludeFTS
- - include full text search matches in the like test- Returns:
- Returns true if the pattern could be found
- Throws:
InvalidNodeRefException
-
-