org.alfresco.repo.search.impl.lucene
Class ADMLuceneSearcherImpl

java.lang.Object
  extended by org.alfresco.repo.search.impl.lucene.AbstractLuceneBase
      extended by org.alfresco.repo.search.impl.lucene.ADMLuceneSearcherImpl
All Implemented Interfaces:
LuceneSearcher, org.alfresco.service.cmr.search.SearchService

public class ADMLuceneSearcherImpl
extends AbstractLuceneBase
implements LuceneSearcher

The Lucene implementation of Searcher At the moment we support only lucene based queries. TODO: Support for other query languages


Field Summary
 
Fields inherited from class org.alfresco.repo.search.impl.lucene.AbstractLuceneBase
deltaId, store
 
Fields inherited from interface org.alfresco.service.cmr.search.SearchService
LANGUAGE_CMIS_ALFRESCO, LANGUAGE_CMIS_STRICT, LANGUAGE_FTS_ALFRESCO, LANGUAGE_JCR_XPATH, LANGUAGE_LUCENE, LANGUAGE_SOLR_ALFRESCO, LANGUAGE_SOLR_CMIS, LANGUAGE_SOLR_FTS_ALFRESCO, LANGUAGE_XPATH
 
Constructor Summary
ADMLuceneSearcherImpl()
           
 
Method Summary
 boolean contains(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName propertyQName, java.lang.String googleLikePattern)
           
 boolean contains(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName propertyQName, java.lang.String googleLikePattern, org.alfresco.service.cmr.search.SearchParameters.Operator defaultOperator)
           
 ClosingIndexSearcher getClosingIndexSearcher()
          Get a lucene searcher
 org.alfresco.service.namespace.NamespacePrefixResolver getNamespacePrefixResolver()
           
static ADMLuceneSearcherImpl getNodeSearcher()
          Get a select-node-based searcher
 org.alfresco.service.cmr.repository.NodeService getNodeService()
           
 QueryRegisterComponent getQueryRegister()
           
static ADMLuceneSearcherImpl getSearcher(org.alfresco.service.cmr.repository.StoreRef storeRef, LuceneConfig config)
          Get an intialised searcher for the store.
static ADMLuceneSearcherImpl getSearcher(org.alfresco.service.cmr.repository.StoreRef storeRef, LuceneIndexer indexer, LuceneConfig config)
          Get an initialised searcher for the store and transaction Normally we do not search against a a store and delta.
 org.alfresco.repo.tenant.TenantService getTenantService()
           
 java.util.List getTopTerms(java.lang.String field, int count)
          Get top terms
 boolean indexExists()
          Check if the index exists
 boolean like(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName propertyQName, java.lang.String sqlLikePattern, boolean includeFTS)
           
 org.alfresco.service.cmr.search.ResultSet query(org.alfresco.service.cmr.search.SearchParameters searchParameters)
           
 org.alfresco.service.cmr.search.ResultSet query(org.alfresco.service.cmr.repository.StoreRef store, org.alfresco.service.namespace.QName queryId, org.alfresco.service.cmr.search.QueryParameter[] queryParameters)
           
 org.alfresco.service.cmr.search.ResultSet query(org.alfresco.service.cmr.repository.StoreRef store, java.lang.String language, java.lang.String query)
           
 org.alfresco.service.cmr.search.ResultSet query(org.alfresco.service.cmr.repository.StoreRef store, java.lang.String language, java.lang.String queryString, org.alfresco.service.cmr.search.QueryParameterDefinition[] queryParameterDefinitions)
           
 java.util.List selectNodes(org.alfresco.service.cmr.repository.NodeRef contextNodeRef, java.lang.String xpath, org.alfresco.service.cmr.search.QueryParameterDefinition[] parameters, org.alfresco.service.namespace.NamespacePrefixResolver namespacePrefixResolver, boolean followAllParentLinks)
           
 java.util.List selectNodes(org.alfresco.service.cmr.repository.NodeRef contextNodeRef, java.lang.String xpath, org.alfresco.service.cmr.search.QueryParameterDefinition[] parameters, org.alfresco.service.namespace.NamespacePrefixResolver namespacePrefixResolver, boolean followAllParentLinks, java.lang.String language)
           
 java.util.List selectProperties(org.alfresco.service.cmr.repository.NodeRef contextNodeRef, java.lang.String xpath, org.alfresco.service.cmr.search.QueryParameterDefinition[] parameters, org.alfresco.service.namespace.NamespacePrefixResolver namespacePrefixResolver, boolean followAllParentLinks)
           
 java.util.List selectProperties(org.alfresco.service.cmr.repository.NodeRef contextNodeRef, java.lang.String xpath, org.alfresco.service.cmr.search.QueryParameterDefinition[] parameters, org.alfresco.service.namespace.NamespacePrefixResolver namespacePrefixResolver, boolean followAllParentLinks, java.lang.String language)
           
 void setNamespacePrefixResolver(org.alfresco.service.namespace.NamespacePrefixResolver namespacePrefixResolver)
          Set the name space service
 void setNodeService(org.alfresco.service.cmr.repository.NodeService nodeService)
          Ste the node service
 void setQueryLanguages(java.util.Map queryLanguages)
           
 void setQueryRegister(QueryRegisterComponent queryRegister)
          Set the query register
 void setTenantService(org.alfresco.repo.tenant.TenantService tenantService)
           
 
Methods inherited from class org.alfresco.repo.search.impl.lucene.AbstractLuceneBase
closeDeltaReader, closeDeltaWriter, deleteIndex, doReadOnly, getDeltaId, getDeltaReader, getDeltaWriter, getDictionaryService, getLuceneConfig, getReader, getSearcher, getSearcher, getStatus, initialise, saveDelta, setDictionaryService, setInfo, setLuceneConfig, setStatus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ADMLuceneSearcherImpl

public ADMLuceneSearcherImpl()
Method Detail

getSearcher

public static ADMLuceneSearcherImpl getSearcher(org.alfresco.service.cmr.repository.StoreRef storeRef,
                                                LuceneIndexer indexer,
                                                LuceneConfig config)
Get an initialised searcher for the store and transaction Normally we do not search against a a store and delta. Currently only gets the searcher against the main index.

Parameters:
storeRef -
indexer -
config -
Returns:
- the searcher implementation

getSearcher

public static ADMLuceneSearcherImpl getSearcher(org.alfresco.service.cmr.repository.StoreRef storeRef,
                                                LuceneConfig config)
Get an intialised searcher for the store. No transactional ammendsmends are searched.

Parameters:
storeRef -
config -
Returns:
the searcher

getNodeSearcher

public static ADMLuceneSearcherImpl getNodeSearcher()
Get a select-node-based searcher

Returns:

setNamespacePrefixResolver

public void setNamespacePrefixResolver(org.alfresco.service.namespace.NamespacePrefixResolver namespacePrefixResolver)
Description copied from interface: LuceneSearcher
Set the name space service

Specified by:
setNamespacePrefixResolver in interface LuceneSearcher

getNamespacePrefixResolver

public org.alfresco.service.namespace.NamespacePrefixResolver getNamespacePrefixResolver()

getNodeService

public org.alfresco.service.cmr.repository.NodeService getNodeService()

getTenantService

public org.alfresco.repo.tenant.TenantService getTenantService()

getQueryRegister

public QueryRegisterComponent getQueryRegister()

indexExists

public boolean indexExists()
Description copied from interface: LuceneSearcher
Check if the index exists

Specified by:
indexExists in interface LuceneSearcher
Returns:
- true if it exists

setNodeService

public void setNodeService(org.alfresco.service.cmr.repository.NodeService nodeService)
Description copied from interface: LuceneSearcher
Ste the node service

Specified by:
setNodeService in interface LuceneSearcher

setTenantService

public void setTenantService(org.alfresco.repo.tenant.TenantService tenantService)

setQueryRegister

public void setQueryRegister(QueryRegisterComponent queryRegister)
Set the query register

Parameters:
queryRegister -

setQueryLanguages

public void setQueryLanguages(java.util.Map queryLanguages)

query

public org.alfresco.service.cmr.search.ResultSet query(org.alfresco.service.cmr.repository.StoreRef store,
                                                       java.lang.String language,
                                                       java.lang.String queryString,
                                                       org.alfresco.service.cmr.search.QueryParameterDefinition[] queryParameterDefinitions)
                                                throws SearcherException
Specified by:
query in interface org.alfresco.service.cmr.search.SearchService
Throws:
SearcherException

query

public org.alfresco.service.cmr.search.ResultSet query(org.alfresco.service.cmr.search.SearchParameters searchParameters)
Specified by:
query in interface org.alfresco.service.cmr.search.SearchService

query

public org.alfresco.service.cmr.search.ResultSet query(org.alfresco.service.cmr.repository.StoreRef store,
                                                       java.lang.String language,
                                                       java.lang.String query)
Specified by:
query in interface org.alfresco.service.cmr.search.SearchService

query

public org.alfresco.service.cmr.search.ResultSet query(org.alfresco.service.cmr.repository.StoreRef store,
                                                       org.alfresco.service.namespace.QName queryId,
                                                       org.alfresco.service.cmr.search.QueryParameter[] queryParameters)
Specified by:
query in interface org.alfresco.service.cmr.search.SearchService

selectNodes

public java.util.List selectNodes(org.alfresco.service.cmr.repository.NodeRef contextNodeRef,
                                  java.lang.String xpath,
                                  org.alfresco.service.cmr.search.QueryParameterDefinition[] parameters,
                                  org.alfresco.service.namespace.NamespacePrefixResolver namespacePrefixResolver,
                                  boolean followAllParentLinks,
                                  java.lang.String language)
                           throws org.alfresco.service.cmr.repository.InvalidNodeRefException,
                                  org.alfresco.service.cmr.repository.XPathException
Specified by:
selectNodes in interface org.alfresco.service.cmr.search.SearchService
Throws:
org.alfresco.service.cmr.repository.InvalidNodeRefException
org.alfresco.service.cmr.repository.XPathException
See Also:
NodeSearcher

selectProperties

public java.util.List selectProperties(org.alfresco.service.cmr.repository.NodeRef contextNodeRef,
                                       java.lang.String xpath,
                                       org.alfresco.service.cmr.search.QueryParameterDefinition[] parameters,
                                       org.alfresco.service.namespace.NamespacePrefixResolver namespacePrefixResolver,
                                       boolean followAllParentLinks,
                                       java.lang.String language)
                                throws org.alfresco.service.cmr.repository.InvalidNodeRefException,
                                       org.alfresco.service.cmr.repository.XPathException
Specified by:
selectProperties in interface org.alfresco.service.cmr.search.SearchService
Throws:
org.alfresco.service.cmr.repository.InvalidNodeRefException
org.alfresco.service.cmr.repository.XPathException
See Also:
NodeSearcher

contains

public boolean contains(org.alfresco.service.cmr.repository.NodeRef nodeRef,
                        org.alfresco.service.namespace.QName propertyQName,
                        java.lang.String googleLikePattern)
Specified by:
contains in interface org.alfresco.service.cmr.search.SearchService
Returns:
Returns true if the pattern is present, otherwise false.

contains

public boolean contains(org.alfresco.service.cmr.repository.NodeRef nodeRef,
                        org.alfresco.service.namespace.QName propertyQName,
                        java.lang.String googleLikePattern,
                        org.alfresco.service.cmr.search.SearchParameters.Operator defaultOperator)
Specified by:
contains in interface org.alfresco.service.cmr.search.SearchService
Returns:
Returns true if the pattern is present, otherwise false.

like

public boolean like(org.alfresco.service.cmr.repository.NodeRef nodeRef,
                    org.alfresco.service.namespace.QName propertyQName,
                    java.lang.String sqlLikePattern,
                    boolean includeFTS)
Specified by:
like in interface org.alfresco.service.cmr.search.SearchService
Returns:
Returns true if the pattern is present, otherwise false.

selectNodes

public java.util.List selectNodes(org.alfresco.service.cmr.repository.NodeRef contextNodeRef,
                                  java.lang.String xpath,
                                  org.alfresco.service.cmr.search.QueryParameterDefinition[] parameters,
                                  org.alfresco.service.namespace.NamespacePrefixResolver namespacePrefixResolver,
                                  boolean followAllParentLinks)
                           throws org.alfresco.service.cmr.repository.InvalidNodeRefException,
                                  org.alfresco.service.cmr.repository.XPathException
Specified by:
selectNodes in interface org.alfresco.service.cmr.search.SearchService
Throws:
org.alfresco.service.cmr.repository.InvalidNodeRefException
org.alfresco.service.cmr.repository.XPathException

selectProperties

public java.util.List selectProperties(org.alfresco.service.cmr.repository.NodeRef contextNodeRef,
                                       java.lang.String xpath,
                                       org.alfresco.service.cmr.search.QueryParameterDefinition[] parameters,
                                       org.alfresco.service.namespace.NamespacePrefixResolver namespacePrefixResolver,
                                       boolean followAllParentLinks)
                                throws org.alfresco.service.cmr.repository.InvalidNodeRefException,
                                       org.alfresco.service.cmr.repository.XPathException
Specified by:
selectProperties in interface org.alfresco.service.cmr.search.SearchService
Throws:
org.alfresco.service.cmr.repository.InvalidNodeRefException
org.alfresco.service.cmr.repository.XPathException

getTopTerms

public java.util.List getTopTerms(java.lang.String field,
                                  int count)
Description copied from interface: LuceneSearcher
Get top terms

Specified by:
getTopTerms in interface LuceneSearcher
Returns:

getClosingIndexSearcher

public ClosingIndexSearcher getClosingIndexSearcher()
Description copied from interface: LuceneSearcher
Get a lucene searcher

Specified by:
getClosingIndexSearcher in interface LuceneSearcher
Returns:


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