Class SolrResourceIndexer
- java.lang.Object
-
- org.ametys.runtime.plugin.component.AbstractLogEnabled
-
- org.ametys.cms.content.indexing.solr.SolrResourceIndexer
-
- All Implemented Interfaces:
SolrFieldNames
,LogEnabled
,Component
,Serviceable
public class SolrResourceIndexer extends AbstractLogEnabled implements Component, Serviceable, SolrFieldNames
Solr resource indexer.Populate a Solr input document with the following fields:
- id
- resource id
- type
- with
"document"
value - full
- resource content
-
-
Field Summary
Fields Modifier and Type Field Description protected LanguagesManager
_langManager
The language manager.protected SolrIndexer
_solrIndexer
The solr indexerprotected Tika
_tika
The Tika instance.static String
ROLE
The avalon role.-
Fields inherited from interface org.ametys.cms.content.indexing.solr.SolrFieldNames
ACL_INIT_VALUE_ALLOWED_GROUPS, ACL_INIT_VALUE_ALLOWED_USERS, ACL_INIT_VALUE_ANONYMOUS, ACL_INIT_VALUE_ANYCONNECTED, ACL_INIT_VALUE_DENIED_GROUPS, ACL_INIT_VALUE_DENIED_USERS, ALL_CONTENT_TYPES, ALL_MIXIN_TYPES, ALL_TAGS, ATTACHMENT_CONTENT_ID, CONTENT_COMMENTS, CONTENT_COMMENTS_NONVALIDATED, CONTENT_COMMENTS_VALIDATED, CONTENT_CREATOR, CONTENT_LANGUAGE, CONTENT_LANGUAGES, CONTENT_LAST_CONTRIBUTOR, CONTENT_NAME, CONTENT_OUTGOING_REFEERENCES_RESOURCE_IDS, CONTENT_TITLES, CONTENT_TYPE_RESOURCE, CONTENT_TYPES, CONTENT_VISIBLE_ATTACHMENT_RESOURCE_IDS, CREATION_DATE, DATE_FOR_SORTING, DATES_FACET, DC_CONTRIBUTOR, DC_COVERAGE, DC_CREATOR, DC_DATE, DC_DESCRIPTION, DC_FORMAT, DC_IDENTIFIER, DC_LANGUAGE, DC_PUBLISHER, DC_RELATION, DC_RIGHTS, DC_SOURCE, DC_SUBJECT, DC_TITLE, DC_TYPE, DOCUMENT_TYPE, EXCERPT, FILENAME, FIRST_VALIDATION, FULL_EXACT_WS, FULL_GENERAL, FULL_PREFIX, FULL_STEMMED_PREFIX, ID, IS_AMETYS_OBJECT, LAST_MAJOR_VALIDATION, LAST_MODIFIED, LAST_VALIDATION, LENGTH, MIME_TYPES, MIXIN_TYPES, PATH, PSEUDO_CONTENT_TYPE_VALUE_RESOURCE, PSEUDO_CONTENT_TYPES, REPEATER_ENTRY_POSITION, RESOURCE_ANCESTOR_AND_SELF_IDS, RESOURCE_ANCESTOR_IDS, RESOURCE_CREATOR, RESOURCE_DATE, RESOURCE_LAST_MODIFIED, RESOURCE_MIME_TYPE_GROUP, RESOURCE_ROOT_ID, SIMPLE_CONTENT_PARENTS, SUB_CONTENT, TAGS, TITLE, TITLE_SORT, TYPE_CONTENT, TYPE_CONTENT_ATTACHMENT_RESOURCE, TYPE_CONTENT_ATTRIBUTE_RESOURCE, TYPE_REPEATER, TYPE_RESOURCE, TYPE_WF_ENTRY, TYPE_WF_STEP, WORKFLOW_CURRENT_STEPS, WORKFLOW_CURRENT_STEPS_DV, WORKFLOW_ENTRY_STATE, WORKFLOW_HISTORY_STEPS, WORKFLOW_HISTORY_STEPS_DV, WORKFLOW_NAME, WORKFLOW_REF, WORKFLOW_REF_DV, WORKFLOW_STEP, WORKFLOW_STEP_ACTIONID, WORKFLOW_STEP_CALLER, WORKFLOW_STEP_DUEDATE, WORKFLOW_STEP_FINISHDATE, WORKFLOW_STEP_ID, WORKFLOW_STEP_OWNER, WORKFLOW_STEP_STARTDATE, WORKFLOW_STEP_STATUS
-
-
Constructor Summary
Constructors Constructor Description SolrResourceIndexer()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static String
_getDcFormatToIndex(DublinCoreAwareAmetysObject object)
private void
_indexAncestorIds(Resource resource, org.apache.solr.common.SolrInputDocument document)
private static void
_indexNonNullValue(org.apache.solr.common.SolrInputDocument document, String fieldName, String value)
private static void
_indexNonNullValue(org.apache.solr.common.SolrInputDocument document, String fieldName, String[] values)
protected void
_populateDatesOfPage(Resource resource, org.apache.solr.common.SolrInputDocument document)
Populate the solr input document with dates from the resourcevoid
indexDublinCoreMetadata(DublinCoreAwareAmetysObject object, org.apache.solr.common.SolrInputDocument document)
Index Dublin core metadata.protected void
indexFulltextValue(org.apache.solr.common.SolrInputDocument document, String text, String language)
Index a full-text value.void
indexResource(Resource resource, org.apache.solr.common.SolrInputDocument document, String documentType)
Index a resource.void
indexResource(Resource resource, org.apache.solr.common.SolrInputDocument document, String documentType, String language)
Index a resource.void
indexResource(Resource resource, org.apache.solr.common.SolrInputDocument document, String documentType, String language, TraversableAmetysObject resourceRoot)
Index a resource.void
indexResource(Resource resource, org.apache.solr.common.SolrInputDocument document, String documentType, TraversableAmetysObject resourceRoot)
Index a resource.void
indexResourceCollection(ResourceCollection resourceCollection, org.apache.solr.common.SolrInputDocument document, String language)
Index a collection of resources.void
indexResourceContent(Resource resource, org.apache.solr.common.SolrInputDocument document, String language)
Index a resource content (text in case of a document, and Dublin Core metadata).void
service(ServiceManager manager)
-
Methods inherited from class org.ametys.runtime.plugin.component.AbstractLogEnabled
getLogger, setLogger
-
-
-
-
Field Detail
-
_langManager
protected LanguagesManager _langManager
The language manager.
-
_solrIndexer
protected SolrIndexer _solrIndexer
The solr indexer
-
-
Constructor Detail
-
SolrResourceIndexer
public SolrResourceIndexer()
-
-
Method Detail
-
service
public void service(ServiceManager manager) throws ServiceException
- Specified by:
service
in interfaceServiceable
- Throws:
ServiceException
-
indexResource
public void indexResource(Resource resource, org.apache.solr.common.SolrInputDocument document, String documentType) throws Exception
Index a resource.- Parameters:
resource
- The resource to index.document
- The Solr document to index into.documentType
- The document type of the resource- Throws:
Exception
- if an error occurs.
-
indexResource
public void indexResource(Resource resource, org.apache.solr.common.SolrInputDocument document, String documentType, String language) throws Exception
Index a resource.- Parameters:
resource
- The resource to index.document
- The Solr document to index into.documentType
- The document type of the resourcelanguage
- The query language.- Throws:
Exception
- if an error occurs.
-
indexResource
public void indexResource(Resource resource, org.apache.solr.common.SolrInputDocument document, String documentType, TraversableAmetysObject resourceRoot) throws Exception
Index a resource.- Parameters:
resource
- The resource to index.document
- The Solr document to index into.documentType
- The document type of the resourceresourceRoot
- The resource root, can be null. When null, it will have to be computed.- Throws:
Exception
- if an error occurs.
-
indexResource
public void indexResource(Resource resource, org.apache.solr.common.SolrInputDocument document, String documentType, String language, TraversableAmetysObject resourceRoot) throws Exception
Index a resource.- Parameters:
resource
- The resource to index.document
- The Solr document to index into.documentType
- The document type of the resourcelanguage
- The language, can be null.resourceRoot
- The resource root, can be null. When null, it will have to be computed.- Throws:
Exception
- if an error occurs.
-
_populateDatesOfPage
protected void _populateDatesOfPage(Resource resource, org.apache.solr.common.SolrInputDocument document)
Populate the solr input document with dates from the resource- Parameters:
resource
- The resourcedocument
- The Solr document
-
_indexAncestorIds
private void _indexAncestorIds(Resource resource, org.apache.solr.common.SolrInputDocument document)
-
indexResourceCollection
public void indexResourceCollection(ResourceCollection resourceCollection, org.apache.solr.common.SolrInputDocument document, String language) throws Exception
Index a collection of resources.- Parameters:
resourceCollection
- the resource collection to index.document
- The document to index into.language
- The current language.- Throws:
Exception
- if an error occurs while indexing.
-
indexResourceContent
public void indexResourceContent(Resource resource, org.apache.solr.common.SolrInputDocument document, String language)
Index a resource content (text in case of a document, and Dublin Core metadata).- Parameters:
resource
- The resource to index.document
- The document to index into.language
- The current language, can be null.
-
indexFulltextValue
protected void indexFulltextValue(org.apache.solr.common.SolrInputDocument document, String text, String language)
Index a full-text value.- Parameters:
document
- The document to index into.text
- The text to index.language
- The content language, can be null.
-
indexDublinCoreMetadata
public void indexDublinCoreMetadata(DublinCoreAwareAmetysObject object, org.apache.solr.common.SolrInputDocument document)
Index Dublin core metadata.- Parameters:
object
- theDublinCoreAwareAmetysObject
holding Dublin Core metadata.document
- the solr input document to populate.
-
_getDcFormatToIndex
private static String _getDcFormatToIndex(DublinCoreAwareAmetysObject object)
-
_indexNonNullValue
private static void _indexNonNullValue(org.apache.solr.common.SolrInputDocument document, String fieldName, String value)
-
_indexNonNullValue
private static void _indexNonNullValue(org.apache.solr.common.SolrInputDocument document, String fieldName, String[] values)
-
-