Class CmsSearchFieldConfiguration
- All Implemented Interfaces:
Serializable
,Comparable<I_CmsSearchFieldConfiguration>
,I_CmsSearchFieldConfiguration
- Direct Known Subclasses:
CmsLuceneFieldConfiguration
,CmsSolrFieldConfiguration
- Since:
- 8.5.0
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionA list of fields that should be lazy-loaded.static final String
The name for the standard field configuration. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addUninvertingMappings
(Map<String, org.apache.solr.uninverting.UninvertingReader.Type> uninvertingMap) To allow sorting on a field the field must be added to the map given toUninvertingReader.wrap(org.apache.lucene.index.DirectoryReader, Map)
.protected I_CmsSearchDocument
appendAdditionalValuesToDcoument
(I_CmsSearchDocument document, CmsObject cms, CmsResource resource, I_CmsExtractionResult extraction, List<CmsProperty> properties, List<CmsProperty> propertiesSearched) Overriding this method allows to append some 'extra' values/fields to a document without overriding thecreateDocument(org.opencms.file.CmsObject, org.opencms.file.CmsResource, org.opencms.search.I_CmsSearchIndex, org.opencms.search.extractors.I_CmsExtractionResult)
method itself.protected I_CmsSearchDocument
appendCategories
(I_CmsSearchDocument document, CmsObject cms, CmsResource resource, I_CmsExtractionResult extractionResult, List<CmsProperty> properties, List<CmsProperty> propertiesSearched) Extends the given document by resource category information based on properties.protected I_CmsSearchDocument
appendContentBlob
(I_CmsSearchDocument document, CmsObject cms, CmsResource resource, I_CmsExtractionResult extractionResult, List<CmsProperty> properties, List<CmsProperty> propertiesSearched) Extends the given document by a field that contains the extracted content blob.protected I_CmsSearchDocument
appendDates
(I_CmsSearchDocument document, CmsObject cms, CmsResource resource, I_CmsExtractionResult extractionResult, List<CmsProperty> properties, List<CmsProperty> propertiesSearched) Extends the given document by fields for date of creation, content and last modification.protected I_CmsSearchDocument
appendFieldMapping
(I_CmsSearchDocument document, CmsSearchField field, CmsObject cms, CmsResource resource, I_CmsExtractionResult extractionResult, List<CmsProperty> properties, List<CmsProperty> propertiesSearched) Extends the given document by the mappings for the given field.protected I_CmsSearchDocument
appendFieldMappings
(I_CmsSearchDocument document, CmsObject cms, CmsResource resource, I_CmsExtractionResult extractionResult, List<CmsProperty> properties, List<CmsProperty> propertiesSearched) Extends the given document by the configured field mappings.protected I_CmsSearchDocument
appendFileSize
(I_CmsSearchDocument document, CmsObject cms, CmsResource resource, I_CmsExtractionResult extractionResult, List<CmsProperty> properties, List<CmsProperty> propertiesSearched) Extends the given document by the "size" field.protected I_CmsSearchDocument
appendLocales
(I_CmsSearchDocument document, CmsObject cms, CmsResource resource, I_CmsExtractionResult extraction, List<CmsProperty> properties, List<CmsProperty> propertiesSearched) Extends the given document by the "res_locales" field.protected I_CmsSearchDocument
appendPath
(I_CmsSearchDocument document, CmsObject cms, CmsResource resource, I_CmsExtractionResult extractionResult, List<CmsProperty> properties, List<CmsProperty> propertiesSearched) Extends the given document by fields for VFS path lookup.protected I_CmsSearchDocument
appendProperties
(I_CmsSearchDocument document, CmsObject cms, CmsResource resource, I_CmsExtractionResult extraction, List<CmsProperty> properties, List<CmsProperty> propertiesSearched) Appends all direct properties, that are not empty or white space only to the document.protected I_CmsSearchDocument
appendType
(I_CmsSearchDocument document, CmsObject cms, CmsResource resource, I_CmsExtractionResult extractionResult, List<CmsProperty> properties, List<CmsProperty> propertiesSearched) Extends the given document by a field that contains the resource type name.createDocument
(CmsObject cms, CmsResource resource, I_CmsSearchIndex index, I_CmsExtractionResult extraction) Creates the Lucene Document with this field configuration for the provided VFS resource, search index and content.getIndex()
Returns the index.static final String
getLocaleExtendedName
(String lookup, String locale) Returns the locale extended name for the given lookup String.static final String
getLocaleExtendedName
(String lookup, Locale locale) Returns the locale extended name for the given lookup String.static String
getParentFolderTokens
(String rootPath) Creates a space separated list of all parent folders of the given root path.void
setIndex
(CmsSearchIndex index) Sets the index.Methods inherited from class org.opencms.search.fields.A_CmsSearchFieldConfiguration
addField, compareTo, equals, getDescription, getField, getFieldNames, getFields, getName, hashCode, init, setDescription, setName
-
Field Details
-
LAZY_FIELDS
A list of fields that should be lazy-loaded. -
STR_STANDARD
The name for the standard field configuration.- See Also:
-
-
Constructor Details
-
CmsSearchFieldConfiguration
public CmsSearchFieldConfiguration()Creates a new, empty field configuration.
-
-
Method Details
-
getLocaleExtendedName
Returns the locale extended name for the given lookup String.- Parameters:
lookup
- the lookup Stringlocale
- the locale- Returns:
- the locale extended name for the given lookup String
-
getLocaleExtendedName
Returns the locale extended name for the given lookup String.- Parameters:
lookup
- the lookup Stringlocale
- the locale- Returns:
- the locale extended name for the given lookup String
-
getParentFolderTokens
Creates a space separated list of all parent folders of the given root path.- Parameters:
rootPath
- the root path to get the parent folder list for- Returns:
- a space separated list of all parent folders of the given root path
-
addUninvertingMappings
public void addUninvertingMappings(Map<String, org.apache.solr.uninverting.UninvertingReader.Type> uninvertingMap) To allow sorting on a field the field must be added to the map given toUninvertingReader.wrap(org.apache.lucene.index.DirectoryReader, Map)
. The method adds the configured fields.- Specified by:
addUninvertingMappings
in interfaceI_CmsSearchFieldConfiguration
- Overrides:
addUninvertingMappings
in classA_CmsSearchFieldConfiguration
- Parameters:
uninvertingMap
- the map to which the fields are added.- See Also:
-
createDocument
public I_CmsSearchDocument createDocument(CmsObject cms, CmsResource resource, I_CmsSearchIndex index, I_CmsExtractionResult extraction) throws CmsException Creates the Lucene Document with this field configuration for the provided VFS resource, search index and content.This triggers the indexing process for the given VFS resource according to the configuration of the provided index.
The provided index resource contains the basic contents to index. The provided search index contains the configuration what to index, such as the locale and possible special field mappings.
- Parameters:
cms
- the OpenCms user context used to access the OpenCms VFSresource
- the resource to create the Lucene document fromindex
- the search index to create the Document forextraction
- the plain text content extracted from the document- Returns:
- the Search Document for the given VFS resource and the given search index
- Throws:
CmsException
- if something goes wrong
-
getIndex
Returns the index.- Returns:
- the index
-
setIndex
Sets the index.- Parameters:
index
- the index to set
-
appendAdditionalValuesToDcoument
protected I_CmsSearchDocument appendAdditionalValuesToDcoument(I_CmsSearchDocument document, CmsObject cms, CmsResource resource, I_CmsExtractionResult extraction, List<CmsProperty> properties, List<CmsProperty> propertiesSearched) Overriding this method allows to append some 'extra' values/fields to a document without overriding thecreateDocument(org.opencms.file.CmsObject, org.opencms.file.CmsResource, org.opencms.search.I_CmsSearchIndex, org.opencms.search.extractors.I_CmsExtractionResult)
method itself.The method
createDocument(org.opencms.file.CmsObject, org.opencms.file.CmsResource, org.opencms.search.I_CmsSearchIndex, org.opencms.search.extractors.I_CmsExtractionResult)
reads all properties of the current resource which is an expensive operation. In order to avoid reading those properties twice, this method has been introduced.Compared with all the other appender methods the name of this method is generic.
In this default implementation the document is returned unchanged.
- Parameters:
document
- the document to extendcms
- the OpenCms context used for building the search indexresource
- the resource that is indexedextraction
- the plain text extraction result from the resourceproperties
- the list of all properties directly attached to the resource (not searched)propertiesSearched
- the list of all searched properties of the resource- Returns:
- the document extended by resource category information
-
appendCategories
protected I_CmsSearchDocument appendCategories(I_CmsSearchDocument document, CmsObject cms, CmsResource resource, I_CmsExtractionResult extractionResult, List<CmsProperty> properties, List<CmsProperty> propertiesSearched) throws CmsException Extends the given document by resource category information based on properties.- Parameters:
document
- the document to extendcms
- the OpenCms context used for building the search indexresource
- the resource that is indexedextractionResult
- the plain text extraction result from the resourceproperties
- the list of all properties directly attached to the resource (not searched)propertiesSearched
- the list of all searched properties of the resource- Returns:
- the document extended by resource category information
- Throws:
CmsException
- if something goes wrong
-
appendContentBlob
protected I_CmsSearchDocument appendContentBlob(I_CmsSearchDocument document, CmsObject cms, CmsResource resource, I_CmsExtractionResult extractionResult, List<CmsProperty> properties, List<CmsProperty> propertiesSearched) Extends the given document by a field that contains the extracted content blob.- Parameters:
document
- the document to extendcms
- the OpenCms context used for building the search indexresource
- the resource that is indexedextractionResult
- the plain text extraction result from the resourceproperties
- the list of all properties directly attached to the resource (not searched)propertiesSearched
- the list of all searched properties of the resource- Returns:
- the document extended by a field that contains the extracted content blob
-
appendDates
protected I_CmsSearchDocument appendDates(I_CmsSearchDocument document, CmsObject cms, CmsResource resource, I_CmsExtractionResult extractionResult, List<CmsProperty> properties, List<CmsProperty> propertiesSearched) Extends the given document by fields for date of creation, content and last modification.- Parameters:
document
- the document to extendcms
- the OpenCms context used for building the search indexresource
- the resource that is indexedextractionResult
- the plain text extraction result from the resourceproperties
- the list of all properties directly attached to the resource (not searched)propertiesSearched
- the list of all searched properties of the resource- Returns:
- the document extended by fields for date of creation, content and last modification
-
appendFieldMapping
protected I_CmsSearchDocument appendFieldMapping(I_CmsSearchDocument document, CmsSearchField field, CmsObject cms, CmsResource resource, I_CmsExtractionResult extractionResult, List<CmsProperty> properties, List<CmsProperty> propertiesSearched) Extends the given document by the mappings for the given field.- Parameters:
document
- the document to extendfield
- the field to create the mappings forcms
- the OpenCms context used for building the search indexresource
- the resource that is indexedextractionResult
- the plain text extraction result from the resourceproperties
- the list of all properties directly attached to the resource (not searched)propertiesSearched
- the list of all searched properties of the resource- Returns:
- the document extended by the mappings for the given field
-
appendFieldMappings
protected I_CmsSearchDocument appendFieldMappings(I_CmsSearchDocument document, CmsObject cms, CmsResource resource, I_CmsExtractionResult extractionResult, List<CmsProperty> properties, List<CmsProperty> propertiesSearched) Extends the given document by the configured field mappings.- Parameters:
document
- the document to extendcms
- the OpenCms context used for building the search indexresource
- the resource that is indexedextractionResult
- the plain text extraction result from the resourceproperties
- the list of all properties directly attached to the resource (not searched)propertiesSearched
- the list of all searched properties of the resource- Returns:
- the document extended by the configured field mappings
-
appendFileSize
protected I_CmsSearchDocument appendFileSize(I_CmsSearchDocument document, CmsObject cms, CmsResource resource, I_CmsExtractionResult extractionResult, List<CmsProperty> properties, List<CmsProperty> propertiesSearched) Extends the given document by the "size" field.- Parameters:
document
- the document to extendcms
- the OpenCms context used for building the search indexresource
- the resource that is indexedextractionResult
- the plain text extraction result from the resourceproperties
- the list of all properties directly attached to the resource (not searched)propertiesSearched
- the list of all searched properties of the resource- Returns:
- the document extended by the resource locales
-
appendLocales
protected I_CmsSearchDocument appendLocales(I_CmsSearchDocument document, CmsObject cms, CmsResource resource, I_CmsExtractionResult extraction, List<CmsProperty> properties, List<CmsProperty> propertiesSearched) Extends the given document by the "res_locales" field.- Parameters:
document
- the document to extendcms
- the OpenCms context used for building the search indexresource
- the resource that is indexedextraction
- the plain text extraction result from the resourceproperties
- the list of all properties directly attached to the resource (not searched)propertiesSearched
- the list of all searched properties of the resource- Returns:
- the document extended by the resource locales
-
appendPath
protected I_CmsSearchDocument appendPath(I_CmsSearchDocument document, CmsObject cms, CmsResource resource, I_CmsExtractionResult extractionResult, List<CmsProperty> properties, List<CmsProperty> propertiesSearched) Extends the given document by fields for VFS path lookup.- Parameters:
document
- the document to extendcms
- the OpenCms context used for building the search indexresource
- the resource that is indexedextractionResult
- the plain text extraction result from the resourceproperties
- the list of all properties directly attached to the resource (not searched)propertiesSearched
- the list of all searched properties of the resource- Returns:
- the document extended by fields for VFS path lookup
-
appendProperties
protected I_CmsSearchDocument appendProperties(I_CmsSearchDocument document, CmsObject cms, CmsResource resource, I_CmsExtractionResult extraction, List<CmsProperty> properties, List<CmsProperty> propertiesSearched) Appends all direct properties, that are not empty or white space only to the document.- Parameters:
document
- the document to extendcms
- the OpenCms context used for building the search indexresource
- the resource that is indexedextraction
- the plain text extraction result from the resourceproperties
- the list of all properties directly attached to the resource (not searched)propertiesSearched
- the list of all searched properties of the resource- Returns:
- the document extended by resource category information
-
appendType
protected I_CmsSearchDocument appendType(I_CmsSearchDocument document, CmsObject cms, CmsResource resource, I_CmsExtractionResult extractionResult, List<CmsProperty> properties, List<CmsProperty> propertiesSearched) throws CmsLoaderException Extends the given document by a field that contains the resource type name.- Parameters:
document
- the document to extendcms
- the OpenCms context used for building the search indexresource
- the resource that is indexedextractionResult
- the plain text extraction result from the resourceproperties
- the list of all properties directly attached to the resource (not searched)propertiesSearched
- the list of all searched properties of the resource- Returns:
- the document extended by a field that contains the resource type name
- Throws:
CmsLoaderException
- in case of errors identifying the resource type name
-