Package org.alfresco.solr
Class SolrInformationServer
- java.lang.Object
-
- org.alfresco.solr.SolrInformationServer
-
- All Implemented Interfaces:
InformationServer,org.alfresco.solr.InformationServerCollectionProvider
public class SolrInformationServer extends java.lang.Object implements InformationServer
This is the Apache Solr implementation of the information server (index).- Since:
- 5.0
- Author:
- Ahmed Owian
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringANDstatic java.lang.StringCASCADE_TRACKER_ENABLEDShared property to determine if the cascade tracking is enabled.static java.lang.StringDOC_TYPE_ACLstatic java.lang.StringDOC_TYPE_ACL_TXstatic java.lang.StringDOC_TYPE_NODEstatic java.lang.StringDOC_TYPE_TXstatic java.lang.StringORstatic java.lang.StringSOLR_BASEURLstatic java.lang.StringSOLR_HOSTstatic java.lang.StringSOLR_PORTstatic java.lang.StringUNIT_OF_TIME_DAY_FIELD_SUFFIXstatic java.lang.StringUNIT_OF_TIME_DAY_OF_WEEK_FIELD_SUFFIXstatic java.lang.StringUNIT_OF_TIME_DAY_OF_YEAR_FIELD_SUFFIXstatic java.lang.StringUNIT_OF_TIME_HOUR_FIELD_SUFFIXstatic java.lang.StringUNIT_OF_TIME_MINUTE_FIELD_SUFFIXstatic java.lang.StringUNIT_OF_TIME_MONTH_FIELD_SUFFIXstatic java.lang.StringUNIT_OF_TIME_QUARTER_FIELD_SUFFIXstatic java.lang.StringUNIT_OF_TIME_SECOND_FIELD_SUFFIXstatic java.lang.StringUNIT_OF_TIME_YEAR_FIELD_SUFFIX-
Fields inherited from interface org.alfresco.solr.InformationServer
PROP_PREFIX_PARENT_ASPECT, PROP_PREFIX_PARENT_TYPE
-
-
Constructor Summary
Constructors Constructor Description SolrInformationServer(AlfrescoCoreAdminHandler adminHandler, org.apache.solr.core.SolrCore core, org.alfresco.solr.client.SOLRAPIClient repositoryClient)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanaclChangeSetInIndex(long changeSetId, boolean populateCache)voidaddCommonNodeReportInfo(org.alfresco.solr.NodeReport nodeReport)voidaddContentOutdatedAndUpdatedCounts(org.apache.solr.common.util.NamedList<java.lang.Object> report)The outdated node are computed counting all nodes that have LATEST_APPLIED_CONTENT_VERSION_ID =- DOC_TYPE = {@link #DOC_TYPE_NODE}
The updated nodes are computed by simply subtracting the count above from the total number of documents that represent nodes. However, keep in mind that using the two fields LATEST_APPLIED_CONTENT_VERSION_ID and LAST_INCOMING_CONTENT_VERSION_ID there's another (more expensive) way to compute the same information: the following query should return the same result (i.e. number of updated nodes):facet.query={!frange key='UPDATED' l=0}sub(LAST_INCOMING_CONTENT_VERSION_ID,LATEST_APPLIED_CONTENT_VERSION_ID)voidafterInitModels()voidcapIndex(long dbid)voidcascadeNodes(java.util.List<org.alfresco.solr.client.NodeMetaData> nodeMetaDatas, boolean overwrite)booleancascadeTrackingEnabled()Check if cascade tracking is enabled.org.alfresco.solr.AclReportcheckAclInIndex(java.lang.Long aclid, org.alfresco.solr.AclReport aclReport)voidclearProcessedAclChangeSets()voidclearProcessedTransactions()voidcommit()booleancommit(boolean openSearcher)voidcontinueState(org.alfresco.solr.TrackerState state)voiddeleteByAclChangeSetId(java.lang.Long aclChangeSetId)voiddeleteByAclId(java.lang.Long aclId)voiddeleteByNodeId(java.lang.Long nodeId)voiddeleteByTransactionId(java.lang.Long transactionId)voiddirtyTransaction(long txnId)intgetAclTxDocsSize(java.lang.String aclTxId, java.lang.String aclTxCommitTime)AlfrescoCoreAdminHandlergetAdminHandler()java.util.List<org.alfresco.solr.client.AlfrescoModel>getAlfrescoModels()java.lang.StringgetBaseUrl()java.util.List<org.alfresco.solr.client.NodeMetaData>getCascadeNodes(java.util.List<java.lang.Long> txnIds)java.util.List<org.alfresco.solr.client.Transaction>getCascades(int num)java.lang.Iterable<java.util.Map.Entry<java.lang.String,java.lang.Object>>getCoreStats()org.alfresco.repo.dictionary.DictionaryComponentgetDictionaryService(java.lang.String alternativeDictionary)intgetDocListSize(java.lang.String query)java.util.List<AlfrescoSolrDataModel.TenantDbId>getDocsWithUncleanContent()java.util.Set<java.lang.Long>getErrorDocIds()longgetHoleRetention()java.lang.StringgetHostName()longgetIndexCap()org.alfresco.repo.dictionary.M2ModelgetM2Model(org.alfresco.service.namespace.QName modelQName)org.alfresco.solr.client.AclChangeSetgetMaxAclChangeSetIdAndCommitTimeInIndex()org.alfresco.solr.client.TransactiongetMaxTransactionIdAndCommitTimeInIndex()java.util.Map<java.lang.String,java.util.Set<java.lang.String>>getModelErrors()org.alfresco.repo.dictionary.NamespaceDAOgetNamespaceDAO()org.alfresco.solr.adapters.IOpenBitSetgetOpenBitSetInstance()intgetPort()java.util.PropertiesgetProps()intgetRegisteredSearcherCount()<T> org.alfresco.solr.adapters.ISimpleOrderedMap<T>getSimpleOrderedMapInstance()org.alfresco.solr.TrackerStategetTrackerInitialState()org.alfresco.solr.tracker.TrackerStatsgetTrackerStats()intgetTxDocsSize(java.lang.String targetTxId, java.lang.String targetTxCommitTime)voidhardCommit()longindexAcl(java.util.List<org.alfresco.solr.client.AclReaders> aclReaderList, boolean overwrite)voidindexAclTransaction(org.alfresco.solr.client.AclChangeSet changeSet, boolean overwrite)voidindexNode(org.alfresco.solr.client.Node node, boolean overwrite)voidindexNodes(java.util.List<org.alfresco.solr.client.Node> nodes, boolean overwrite)voidindexTransaction(org.alfresco.solr.client.Transaction info, boolean overwrite)voidinitSkippingDescendantDocs()booleanisInIndex(java.lang.String id)voidmaintainCap(long dbid)longmaxNodeId()longminNodeId()longnodeCount()booleanputModel(org.alfresco.repo.dictionary.M2Model model)voidregisterTrackerThread()voidreindexNodeByQuery(java.lang.String query)org.alfresco.solr.tracker.IndexHealthReportreportAclTransactionsInIndex(java.lang.Long minAclTxId, org.alfresco.solr.adapters.IOpenBitSet aclTxIdsInDb, long maxAclTxId)org.alfresco.solr.tracker.IndexHealthReportreportIndexTransactions(java.lang.Long minTxId, org.alfresco.solr.adapters.IOpenBitSet txIdsInDb, long maxTxId)voidrollback()voidsetCleanCascadeTxnFloor(long cleanCascadeTxnFloor)voidsetCleanContentTxnFloor(long cleanContentTxnFloor)booleantxnInIndex(long txnId, boolean populateCache)voidunregisterTrackerThread()voidupdateContent(AlfrescoSolrDataModel.TenantDbId docRef)protected voidupdatePathRelatedFields(org.alfresco.solr.client.NodeMetaData nodeMetaData, org.apache.solr.common.SolrInputDocument doc)voidupdateTransaction(org.alfresco.solr.client.Transaction txn)
-
-
-
Field Detail
-
AND
public static final java.lang.String AND
- See Also:
- Constant Field Values
-
OR
public static final java.lang.String OR
- See Also:
- Constant Field Values
-
DOC_TYPE_NODE
public static final java.lang.String DOC_TYPE_NODE
- See Also:
- Constant Field Values
-
DOC_TYPE_ACL
public static final java.lang.String DOC_TYPE_ACL
- See Also:
- Constant Field Values
-
DOC_TYPE_TX
public static final java.lang.String DOC_TYPE_TX
- See Also:
- Constant Field Values
-
DOC_TYPE_ACL_TX
public static final java.lang.String DOC_TYPE_ACL_TX
- See Also:
- Constant Field Values
-
SOLR_HOST
public static final java.lang.String SOLR_HOST
- See Also:
- Constant Field Values
-
SOLR_PORT
public static final java.lang.String SOLR_PORT
- See Also:
- Constant Field Values
-
SOLR_BASEURL
public static final java.lang.String SOLR_BASEURL
- See Also:
- Constant Field Values
-
CASCADE_TRACKER_ENABLED
public static final java.lang.String CASCADE_TRACKER_ENABLED
Shared property to determine if the cascade tracking is enabled.- See Also:
- Constant Field Values
-
UNIT_OF_TIME_YEAR_FIELD_SUFFIX
public static final java.lang.String UNIT_OF_TIME_YEAR_FIELD_SUFFIX
- See Also:
- Constant Field Values
-
UNIT_OF_TIME_QUARTER_FIELD_SUFFIX
public static final java.lang.String UNIT_OF_TIME_QUARTER_FIELD_SUFFIX
- See Also:
- Constant Field Values
-
UNIT_OF_TIME_MONTH_FIELD_SUFFIX
public static final java.lang.String UNIT_OF_TIME_MONTH_FIELD_SUFFIX
- See Also:
- Constant Field Values
-
UNIT_OF_TIME_DAY_FIELD_SUFFIX
public static final java.lang.String UNIT_OF_TIME_DAY_FIELD_SUFFIX
- See Also:
- Constant Field Values
-
UNIT_OF_TIME_DAY_OF_WEEK_FIELD_SUFFIX
public static final java.lang.String UNIT_OF_TIME_DAY_OF_WEEK_FIELD_SUFFIX
- See Also:
- Constant Field Values
-
UNIT_OF_TIME_DAY_OF_YEAR_FIELD_SUFFIX
public static final java.lang.String UNIT_OF_TIME_DAY_OF_YEAR_FIELD_SUFFIX
- See Also:
- Constant Field Values
-
UNIT_OF_TIME_HOUR_FIELD_SUFFIX
public static final java.lang.String UNIT_OF_TIME_HOUR_FIELD_SUFFIX
- See Also:
- Constant Field Values
-
UNIT_OF_TIME_MINUTE_FIELD_SUFFIX
public static final java.lang.String UNIT_OF_TIME_MINUTE_FIELD_SUFFIX
- See Also:
- Constant Field Values
-
UNIT_OF_TIME_SECOND_FIELD_SUFFIX
public static final java.lang.String UNIT_OF_TIME_SECOND_FIELD_SUFFIX
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SolrInformationServer
public SolrInformationServer(AlfrescoCoreAdminHandler adminHandler, org.apache.solr.core.SolrCore core, org.alfresco.solr.client.SOLRAPIClient repositoryClient)
-
-
Method Detail
-
getAdminHandler
public AlfrescoCoreAdminHandler getAdminHandler()
- Specified by:
getAdminHandlerin interfaceInformationServer
-
cascadeTrackingEnabled
public boolean cascadeTrackingEnabled()
Description copied from interface:InformationServerCheck if cascade tracking is enabled.- Specified by:
cascadeTrackingEnabledin interfaceInformationServer- Returns:
- true if cascade tracking is enabled (note that this is the default behaviour if not specified in the properties file).
-
initSkippingDescendantDocs
public void initSkippingDescendantDocs()
- Specified by:
initSkippingDescendantDocsin interfaceInformationServer
-
addContentOutdatedAndUpdatedCounts
public void addContentOutdatedAndUpdatedCounts(org.apache.solr.common.util.NamedList<java.lang.Object> report)
The outdated node are computed counting all nodes that have The updated nodes are computed by simply subtracting the count above from the total number of documents that represent nodes. However, keep in mind that using the two fields LATEST_APPLIED_CONTENT_VERSION_ID and LAST_INCOMING_CONTENT_VERSION_ID there's another (more expensive) way to compute the same information: the following query should return the same result (i.e. number of updated nodes):facet.query={!frange key='UPDATED' l=0}sub(LAST_INCOMING_CONTENT_VERSION_ID,LATEST_APPLIED_CONTENT_VERSION_ID)- Specified by:
addContentOutdatedAndUpdatedCountsin interfaceInformationServer
-
afterInitModels
public void afterInitModels()
- Specified by:
afterInitModelsin interfaceInformationServer
-
checkAclInIndex
public org.alfresco.solr.AclReport checkAclInIndex(java.lang.Long aclid, org.alfresco.solr.AclReport aclReport)- Specified by:
checkAclInIndexin interfaceInformationServer
-
reportIndexTransactions
public org.alfresco.solr.tracker.IndexHealthReport reportIndexTransactions(java.lang.Long minTxId, org.alfresco.solr.adapters.IOpenBitSet txIdsInDb, long maxTxId)- Specified by:
reportIndexTransactionsin interfaceInformationServer
-
reportAclTransactionsInIndex
public org.alfresco.solr.tracker.IndexHealthReport reportAclTransactionsInIndex(java.lang.Long minAclTxId, org.alfresco.solr.adapters.IOpenBitSet aclTxIdsInDb, long maxAclTxId)- Specified by:
reportAclTransactionsInIndexin interfaceInformationServer
-
getDocsWithUncleanContent
public java.util.List<AlfrescoSolrDataModel.TenantDbId> getDocsWithUncleanContent() throws java.io.IOException
- Specified by:
getDocsWithUncleanContentin interfaceInformationServer- Throws:
java.io.IOException
-
addCommonNodeReportInfo
public void addCommonNodeReportInfo(org.alfresco.solr.NodeReport nodeReport)
- Specified by:
addCommonNodeReportInfoin interfaceInformationServer
-
commit
public void commit() throws java.io.IOException- Specified by:
commitin interfaceInformationServer- Throws:
java.io.IOException
-
hardCommit
public void hardCommit() throws java.io.IOException- Specified by:
hardCommitin interfaceInformationServer- Throws:
java.io.IOException
-
commit
public boolean commit(boolean openSearcher) throws java.io.IOException- Specified by:
commitin interfaceInformationServer- Throws:
java.io.IOException
-
deleteByAclChangeSetId
public void deleteByAclChangeSetId(java.lang.Long aclChangeSetId) throws java.io.IOException- Specified by:
deleteByAclChangeSetIdin interfaceInformationServer- Throws:
java.io.IOException
-
deleteByAclId
public void deleteByAclId(java.lang.Long aclId) throws java.io.IOException- Specified by:
deleteByAclIdin interfaceInformationServer- Throws:
java.io.IOException
-
deleteByNodeId
public void deleteByNodeId(java.lang.Long nodeId) throws java.io.IOException- Specified by:
deleteByNodeIdin interfaceInformationServer- Throws:
java.io.IOException
-
deleteByTransactionId
public void deleteByTransactionId(java.lang.Long transactionId) throws java.io.IOException- Specified by:
deleteByTransactionIdin interfaceInformationServer- Throws:
java.io.IOException
-
getAlfrescoModels
public java.util.List<org.alfresco.solr.client.AlfrescoModel> getAlfrescoModels()
- Specified by:
getAlfrescoModelsin interfaceInformationServer
-
getCoreStats
public java.lang.Iterable<java.util.Map.Entry<java.lang.String,java.lang.Object>> getCoreStats() throws java.io.IOException- Specified by:
getCoreStatsin interfaceInformationServer- Throws:
java.io.IOException
-
getDictionaryService
public org.alfresco.repo.dictionary.DictionaryComponent getDictionaryService(java.lang.String alternativeDictionary)
- Specified by:
getDictionaryServicein interfaceInformationServer
-
getTxDocsSize
public int getTxDocsSize(java.lang.String targetTxId, java.lang.String targetTxCommitTime)- Specified by:
getTxDocsSizein interfaceInformationServer
-
getAclTxDocsSize
public int getAclTxDocsSize(java.lang.String aclTxId, java.lang.String aclTxCommitTime)- Specified by:
getAclTxDocsSizein interfaceInformationServer
-
getErrorDocIds
public java.util.Set<java.lang.Long> getErrorDocIds() throws java.io.IOException- Specified by:
getErrorDocIdsin interfaceInformationServer- Throws:
java.io.IOException
-
getHoleRetention
public long getHoleRetention()
- Specified by:
getHoleRetentionin interfaceInformationServer
-
getM2Model
public org.alfresco.repo.dictionary.M2Model getM2Model(org.alfresco.service.namespace.QName modelQName)
- Specified by:
getM2Modelin interfaceInformationServer
-
getModelErrors
public java.util.Map<java.lang.String,java.util.Set<java.lang.String>> getModelErrors()
- Specified by:
getModelErrorsin interfaceInformationServer
-
getNamespaceDAO
public org.alfresco.repo.dictionary.NamespaceDAO getNamespaceDAO()
- Specified by:
getNamespaceDAOin interfaceInformationServer
-
getOpenBitSetInstance
public org.alfresco.solr.adapters.IOpenBitSet getOpenBitSetInstance()
- Specified by:
getOpenBitSetInstancein interfaceorg.alfresco.solr.InformationServerCollectionProvider
-
getRegisteredSearcherCount
public int getRegisteredSearcherCount()
- Specified by:
getRegisteredSearcherCountin interfaceInformationServer
-
getSimpleOrderedMapInstance
public <T> org.alfresco.solr.adapters.ISimpleOrderedMap<T> getSimpleOrderedMapInstance()
- Specified by:
getSimpleOrderedMapInstancein interfaceorg.alfresco.solr.InformationServerCollectionProvider
-
getTrackerStats
public org.alfresco.solr.tracker.TrackerStats getTrackerStats()
- Specified by:
getTrackerStatsin interfaceInformationServer
-
getTrackerInitialState
public org.alfresco.solr.TrackerState getTrackerInitialState()
- Specified by:
getTrackerInitialStatein interfaceInformationServer
-
continueState
public void continueState(org.alfresco.solr.TrackerState state)
- Specified by:
continueStatein interfaceInformationServer
-
indexAcl
public long indexAcl(java.util.List<org.alfresco.solr.client.AclReaders> aclReaderList, boolean overwrite) throws java.io.IOException- Specified by:
indexAclin interfaceInformationServer- Throws:
java.io.IOException
-
indexAclTransaction
public void indexAclTransaction(org.alfresco.solr.client.AclChangeSet changeSet, boolean overwrite) throws java.io.IOException- Specified by:
indexAclTransactionin interfaceInformationServer- Throws:
java.io.IOException
-
getMaxAclChangeSetIdAndCommitTimeInIndex
public org.alfresco.solr.client.AclChangeSet getMaxAclChangeSetIdAndCommitTimeInIndex()
- Specified by:
getMaxAclChangeSetIdAndCommitTimeInIndexin interfaceInformationServer
-
dirtyTransaction
public void dirtyTransaction(long txnId)
- Specified by:
dirtyTransactionin interfaceInformationServer
-
capIndex
public void capIndex(long dbid) throws java.io.IOException- Specified by:
capIndexin interfaceInformationServer- Throws:
java.io.IOException
-
maintainCap
public void maintainCap(long dbid) throws java.io.IOException- Specified by:
maintainCapin interfaceInformationServer- Throws:
java.io.IOException
-
nodeCount
public long nodeCount()
- Specified by:
nodeCountin interfaceInformationServer
-
maxNodeId
public long maxNodeId()
- Specified by:
maxNodeIdin interfaceInformationServer
-
minNodeId
public long minNodeId()
- Specified by:
minNodeIdin interfaceInformationServer
-
getIndexCap
public long getIndexCap()
- Specified by:
getIndexCapin interfaceInformationServer
-
indexNode
public void indexNode(org.alfresco.solr.client.Node node, boolean overwrite) throws java.io.IOException, org.json.JSONException- Specified by:
indexNodein interfaceInformationServer- Throws:
java.io.IOExceptionorg.json.JSONException
-
getCascadeNodes
public java.util.List<org.alfresco.solr.client.NodeMetaData> getCascadeNodes(java.util.List<java.lang.Long> txnIds) throws java.io.IOException, org.json.JSONException- Specified by:
getCascadeNodesin interfaceInformationServer- Throws:
java.io.IOExceptionorg.json.JSONException
-
cascadeNodes
public void cascadeNodes(java.util.List<org.alfresco.solr.client.NodeMetaData> nodeMetaDatas, boolean overwrite) throws java.io.IOException, org.json.JSONException- Specified by:
cascadeNodesin interfaceInformationServer- Throws:
java.io.IOExceptionorg.json.JSONException
-
updateContent
public void updateContent(AlfrescoSolrDataModel.TenantDbId docRef) throws java.lang.Exception
- Specified by:
updateContentin interfaceInformationServer- Throws:
java.lang.Exception
-
indexNodes
public void indexNodes(java.util.List<org.alfresco.solr.client.Node> nodes, boolean overwrite) throws java.io.IOException, org.json.JSONException- Specified by:
indexNodesin interfaceInformationServer- Throws:
java.io.IOExceptionorg.json.JSONException
-
updateTransaction
public void updateTransaction(org.alfresco.solr.client.Transaction txn) throws java.io.IOException- Specified by:
updateTransactionin interfaceInformationServer- Throws:
java.io.IOException
-
indexTransaction
public void indexTransaction(org.alfresco.solr.client.Transaction info, boolean overwrite) throws java.io.IOException- Specified by:
indexTransactionin interfaceInformationServer- Throws:
java.io.IOException
-
getMaxTransactionIdAndCommitTimeInIndex
public org.alfresco.solr.client.Transaction getMaxTransactionIdAndCommitTimeInIndex()
- Specified by:
getMaxTransactionIdAndCommitTimeInIndexin interfaceInformationServer
-
isInIndex
public boolean isInIndex(java.lang.String id)
- Specified by:
isInIndexin interfaceInformationServer
-
getCascades
public java.util.List<org.alfresco.solr.client.Transaction> getCascades(int num) throws java.io.IOException- Specified by:
getCascadesin interfaceInformationServer- Throws:
java.io.IOException
-
txnInIndex
public boolean txnInIndex(long txnId, boolean populateCache) throws java.io.IOException- Specified by:
txnInIndexin interfaceInformationServer- Throws:
java.io.IOException
-
aclChangeSetInIndex
public boolean aclChangeSetInIndex(long changeSetId, boolean populateCache) throws java.io.IOException- Specified by:
aclChangeSetInIndexin interfaceInformationServer- Throws:
java.io.IOException
-
clearProcessedTransactions
public void clearProcessedTransactions()
- Specified by:
clearProcessedTransactionsin interfaceInformationServer
-
clearProcessedAclChangeSets
public void clearProcessedAclChangeSets()
- Specified by:
clearProcessedAclChangeSetsin interfaceInformationServer
-
putModel
public boolean putModel(org.alfresco.repo.dictionary.M2Model model)
- Specified by:
putModelin interfaceInformationServer
-
rollback
public void rollback() throws java.io.IOException- Specified by:
rollbackin interfaceInformationServer- Throws:
java.io.IOException
-
registerTrackerThread
public void registerTrackerThread()
- Specified by:
registerTrackerThreadin interfaceInformationServer
-
unregisterTrackerThread
public void unregisterTrackerThread()
- Specified by:
unregisterTrackerThreadin interfaceInformationServer
-
reindexNodeByQuery
public void reindexNodeByQuery(java.lang.String query) throws java.io.IOException, org.json.JSONException- Specified by:
reindexNodeByQueryin interfaceInformationServer- Throws:
java.io.IOExceptionorg.json.JSONException
-
getBaseUrl
public java.lang.String getBaseUrl()
- Specified by:
getBaseUrlin interfaceInformationServer
-
getPort
public int getPort()
- Specified by:
getPortin interfaceInformationServer
-
getHostName
public java.lang.String getHostName()
- Specified by:
getHostNamein interfaceInformationServer
-
setCleanContentTxnFloor
public void setCleanContentTxnFloor(long cleanContentTxnFloor)
- Specified by:
setCleanContentTxnFloorin interfaceInformationServer
-
setCleanCascadeTxnFloor
public void setCleanCascadeTxnFloor(long cleanCascadeTxnFloor)
- Specified by:
setCleanCascadeTxnFloorin interfaceInformationServer
-
getProps
public java.util.Properties getProps()
-
updatePathRelatedFields
protected void updatePathRelatedFields(org.alfresco.solr.client.NodeMetaData nodeMetaData, org.apache.solr.common.SolrInputDocument doc)
-
getDocListSize
public int getDocListSize(java.lang.String query)
-
-