Class AlfrescoSolrDataModel

  • All Implemented Interfaces:
    org.alfresco.repo.search.adaptor.lucene.QueryConstants

    public class AlfrescoSolrDataModel
    extends Object
    implements org.alfresco.repo.search.adaptor.lucene.QueryConstants
    Author:
    Andy
    • Constructor Detail

      • AlfrescoSolrDataModel

        public AlfrescoSolrDataModel()
    • Method Detail

      • close

        public void close()
      • getTenantId

        public static String getTenantId​(String tenant)
      • getAclDocumentId

        public static String getAclDocumentId​(String tenant,
                                              Long aclId)
        Parameters:
        tenant -
        aclId -
        Returns:
        ::A-
      • getAclChangeSetDocumentId

        public static String getAclChangeSetDocumentId​(Long aclChangeSetId)
        Parameters:
        aclChangeSetId -
        Returns:
        :CHANGE_SET:
      • parseAclChangeSetId

        public static Long parseAclChangeSetId​(String aclChangeSetDocumentId)
      • parseTransactionId

        public static Long parseTransactionId​(String transactionDocumentId)
      • getNodeDocumentId

        public static String getNodeDocumentId​(String tenant,
                                               Long aclId,
                                               Long dbid)
        Returns the Solr 4 id
        Parameters:
        tenant -
        aclId -
        dbid -
        Returns:
        !!
      • getTransactionDocumentId

        public static String getTransactionDocumentId​(Long txId)
        Parameters:
        txId -
        Returns:
        :CHANGE_SET:
      • getLongTerm

        public static org.apache.lucene.index.Term getLongTerm​(String field,
                                                               long longValue)
      • getLongTerm

        public static org.apache.lucene.index.Term getLongTerm​(String field,
                                                               String stringValue)
      • getAlfrescoPropertyFromSchemaField

        public String getAlfrescoPropertyFromSchemaField​(String schemaField)
      • getNamespaceDAO

        public org.alfresco.repo.dictionary.NamespaceDAO getNamespaceDAO()
      • getCommonConfig

        public static Properties getCommonConfig()
      • getResourceClassLoader

        public ClassLoader getResourceClassLoader()
        Returns:
        ClassLoader
      • getResourceDirectory

        public static File getResourceDirectory()
      • getDictionaryService

        public org.alfresco.repo.dictionary.DictionaryComponent getDictionaryService​(String alternativeDictionary)
        Gets a DictionaryService, if an Alternative dictionary is specified it tries to get that. It will attempt to get the DEFAULT dictionary service if null is specified or it can't find a dictionary with the name of "alternativeDictionary"
        Parameters:
        alternativeDictionary - - can be null;
        Returns:
        DictionaryService
      • getIndexedFieldNamesForProperty

        public AlfrescoSolrDataModel.IndexedField getIndexedFieldNamesForProperty​(org.alfresco.service.namespace.QName propertyQName)
        Get all the field names into which we must copy the source data
        Parameters:
        propertyQName - QName
        Returns:
        IndexedField
      • getFieldForNonText

        public String getFieldForNonText​(org.alfresco.service.cmr.dictionary.PropertyDefinition propertyDefinition)
      • getPropertyDefinition

        public org.alfresco.service.cmr.dictionary.PropertyDefinition getPropertyDefinition​(org.alfresco.service.namespace.QName propertyQName)
        Parameters:
        propertyQName - QName
        Returns:
        PropertyDefinition
      • putModel

        public boolean putModel​(org.alfresco.repo.dictionary.M2Model model)
        Parameters:
        model - M2Model
        Returns:
        boolean
      • removeModel

        public boolean removeModel​(org.alfresco.service.namespace.QName modelQName)
      • getM2Model

        public org.alfresco.repo.dictionary.M2Model getM2Model​(org.alfresco.service.namespace.QName modelQName)
      • afterInitModels

        public void afterInitModels()
      • parseCMISQueryToAlfrescoAbstractQuery

        public org.alfresco.repo.search.impl.querymodel.Query parseCMISQueryToAlfrescoAbstractQuery​(org.alfresco.opencmis.search.CMISQueryOptions.CMISQueryMode mode,
                                                                                                    org.alfresco.service.cmr.search.SearchParameters searchParameters,
                                                                                                    org.apache.solr.request.SolrQueryRequest req,
                                                                                                    String alternativeDictionary,
                                                                                                    org.apache.chemistry.opencmis.commons.enums.CmisVersion cmisVersion)
      • getCMISFunctionEvaluationContext

        public org.alfresco.opencmis.search.CmisFunctionEvaluationContext getCMISFunctionEvaluationContext​(org.alfresco.opencmis.search.CMISQueryOptions.CMISQueryMode mode,
                                                                                                           org.apache.chemistry.opencmis.commons.enums.CmisVersion cmisVersion,
                                                                                                           String alternativeDictionary)
      • getCMISDictionary

        public org.alfresco.opencmis.dictionary.CMISDictionaryService getCMISDictionary​(String alternativeDictionary,
                                                                                        org.apache.chemistry.opencmis.commons.enums.CmisVersion cmisVersion)
        Gets the CMISDictionaryService, if an Alternative dictionary is specified it tries to get that. It will attempt to get the DEFAULT dictionary service if null is specified or it can't find a dictionary with the name of "alternativeDictionary"
        Parameters:
        alternativeDictionary - - can be null;
        Returns:
        CMISDictionaryService
      • getAlfrescoModels

        public List<org.alfresco.solr.client.AlfrescoModel> getAlfrescoModels()
        Returns:
        List
      • getCMISQuery

        public org.apache.lucene.search.Query getCMISQuery​(org.alfresco.opencmis.search.CMISQueryOptions.CMISQueryMode mode,
                                                           org.alfresco.util.Pair<org.alfresco.service.cmr.search.SearchParameters,​Boolean> searchParametersAndFilter,
                                                           org.apache.solr.request.SolrQueryRequest req,
                                                           org.alfresco.repo.search.impl.querymodel.Query queryModelQuery,
                                                           org.apache.chemistry.opencmis.commons.enums.CmisVersion cmisVersion,
                                                           String alternativeDictionary)
                                                    throws org.apache.lucene.queryparser.classic.ParseException
        Parameters:
        mode - CMISQueryMode
        searchParametersAndFilter - Pair
        req - SolrQueryRequest
        queryModelQuery - Query
        cmisVersion - CmisVersion
        alternativeDictionary - String
        Returns:
        Query
        Throws:
        org.apache.lucene.queryparser.classic.ParseException
      • getLuceneQueryBuilderContext

        public org.alfresco.repo.search.impl.querymodel.impl.lucene.LuceneQueryBuilderContext<org.apache.lucene.search.Query,​org.apache.lucene.search.Sort,​org.apache.lucene.queryparser.classic.ParseException> getLuceneQueryBuilderContext​(org.alfresco.service.cmr.search.SearchParameters searchParameters,
                                                                                                                                                                                                                                                          org.apache.solr.request.SolrQueryRequest req,
                                                                                                                                                                                                                                                          String alternativeDictionary,
                                                                                                                                                                                                                                                          org.alfresco.repo.search.impl.parsers.FTSQueryParser.RerankPhase rerankPhase)
      • getLuceneQueryParser

        public Solr4QueryParser getLuceneQueryParser​(org.alfresco.service.cmr.search.SearchParameters searchParameters,
                                                     org.apache.solr.request.SolrQueryRequest req,
                                                     org.alfresco.repo.search.impl.parsers.FTSQueryParser.RerankPhase rerankPhase)
      • getFTSQuery

        public org.apache.lucene.search.Query getFTSQuery​(org.alfresco.util.Pair<org.alfresco.service.cmr.search.SearchParameters,​Boolean> searchParametersAndFilter,
                                                          org.apache.solr.request.SolrQueryRequest req,
                                                          org.alfresco.repo.search.impl.parsers.FTSQueryParser.RerankPhase rerankPhase)
                                                   throws org.apache.lucene.queryparser.classic.ParseException
        Parameters:
        searchParametersAndFilter - Pair
        req - SolrQueryRequest
        Returns:
        Query
        Throws:
        org.apache.lucene.queryparser.classic.ParseException
      • mapProperty

        public String mapProperty​(String potentialProperty,
                                  AlfrescoSolrDataModel.FieldUse fieldUse,
                                  org.apache.solr.request.SolrQueryRequest req)
        Parameters:
        potentialProperty - String
        fieldUse - FieldUse
        req - SolrQueryRequest
        Returns:
        String
      • mapNonPropertyFields

        public String mapNonPropertyFields​(String queryField)
        Parameters:
        queryField - String
        Returns:
        String
      • setCMDefaultUri

        public void setCMDefaultUri()