org.opencms.search
public class CmsLuceneDocument extends java.lang.Object implements I_CmsSearchDocument
Modifier and Type | Field and Description |
---|---|
static org.apache.lucene.document.FieldType |
NOT_STORED_ANALYSED_TYPE
Type for a stored-only field.
|
static org.apache.lucene.document.FieldType |
STORED_ANALYSED_TYPE
Type for a stored-and analyzed fields.
|
static org.apache.lucene.document.FieldType |
STORED_NOT_ANALYSED_TYPE
Type for a stored-only field.
|
SEARCH_PRIORITY_HIGH_VALUE, SEARCH_PRIORITY_LOW_VALUE, SEARCH_PRIORITY_MAX_VALUE, SEARCH_PRIORITY_NORMAL_VALUE, VFS_DOCUMENT_KEY_PREFIX
Constructor and Description |
---|
CmsLuceneDocument(org.apache.lucene.document.Document doc)
Public constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
addCategoryField(java.util.List<CmsCategory> categories)
Adds the list of the given categories to this document.
|
void |
addContentField(byte[] data)
Adds the given content byte array to this document.
|
void |
addContentLocales(java.util.List<java.util.Locale> locales)
Adds the locales of the content to this document.
|
void |
addDateField(java.lang.String name,
long date,
boolean analyzed)
Puts the given date into the field with the given name.
|
void |
addFileSizeField(int length)
Adds the given file size as field to this document.
|
void |
addPathField(java.lang.String rootPath)
Puts the given path into this document.
|
void |
addResourceLocales(java.util.List<java.util.Locale> locales)
Adds the locales of the resource to this document.
|
void |
addRootPathField(java.lang.String rootPath)
Puts the given root path into its default field.
|
void |
addSearchField(CmsSearchField field,
java.lang.String value)
Adds a dynamic search field to the index.
|
void |
addSuffixField(java.lang.String suffix)
Adds the suffix field to the document.
|
void |
addTypeField(java.lang.String typeName)
Adds the resource type to this document.
|
byte[] |
getContentBlob()
Returns the content blob of this document.
|
static java.lang.String |
getDateTerms(long date)
Generate a list of date terms for the optimized date range search.
|
java.lang.Object |
getDocument()
Returns the concrete document as Object to be cast if necessary.
|
java.util.List<java.lang.String> |
getFieldNames()
Returns all field names of this document.
|
java.util.Date |
getFieldValueAsDate(java.lang.String fieldName)
Tries to return the value of the field for the given name as Date,
null if the field is empty or if the field is not of the type date. |
java.lang.String |
getFieldValueAsString(java.lang.String fieldName)
Returns the value of the field for the given name as String.
|
java.util.List<java.lang.String> |
getMultivaluedFieldAsStringList(java.lang.String fieldName)
Returns a list of Strings representing the values of an multi valued field.
|
java.lang.String |
getPath()
Returns the root path of the referenced VFS resource of this document.
|
float |
getScore()
Returns the score for this document.
|
java.lang.String |
getType()
Returns the resource type of the referenced VFS resource of this document.
|
void |
setBoost(float boost)
Sets the boost factor for the whole document.
|
void |
setScore(float score)
Sets the score for this document.
|
public static final org.apache.lucene.document.FieldType NOT_STORED_ANALYSED_TYPE
public static final org.apache.lucene.document.FieldType STORED_ANALYSED_TYPE
public static final org.apache.lucene.document.FieldType STORED_NOT_ANALYSED_TYPE
public CmsLuceneDocument(org.apache.lucene.document.Document doc)
doc
- the Lucene documentpublic static java.lang.String getDateTerms(long date)
date
- the date for get the date terms forCmsSearchIndex.getDateRangeSpan(long, long)
public void addCategoryField(java.util.List<CmsCategory> categories)
I_CmsSearchDocument
addCategoryField
in interface I_CmsSearchDocument
categories
- the categories to addI_CmsSearchDocument.addCategoryField(java.util.List)
public void addContentField(byte[] data)
I_CmsSearchDocument
addContentField
in interface I_CmsSearchDocument
data
- the content to addI_CmsSearchDocument.addContentField(byte[])
public void addContentLocales(java.util.List<java.util.Locale> locales)
I_CmsSearchDocument
addContentLocales
in interface I_CmsSearchDocument
locales
- the locales of the contentI_CmsSearchDocument.addContentLocales(java.util.List)
public void addDateField(java.lang.String name, long date, boolean analyzed)
I_CmsSearchDocument
addDateField
in interface I_CmsSearchDocument
name
- the name to put the date indate
- the date to pu into the fieldanalyzed
- true
if the inserted value should be analyzableI_CmsSearchDocument.addDateField(java.lang.String, long, boolean)
public void addFileSizeField(int length)
I_CmsSearchDocument
addFileSizeField
in interface I_CmsSearchDocument
length
- the lengthI_CmsSearchDocument.addFileSizeField(int)
public void addPathField(java.lang.String rootPath)
I_CmsSearchDocument
addPathField
in interface I_CmsSearchDocument
rootPath
- the given path into this documentI_CmsSearchDocument.addPathField(java.lang.String)
public void addResourceLocales(java.util.List<java.util.Locale> locales)
I_CmsSearchDocument
addResourceLocales
in interface I_CmsSearchDocument
locales
- the locales of the resourceI_CmsSearchDocument.addResourceLocales(java.util.List)
public void addRootPathField(java.lang.String rootPath)
I_CmsSearchDocument
addRootPathField
in interface I_CmsSearchDocument
rootPath
- the root path to put into the fieldI_CmsSearchDocument.addRootPathField(java.lang.String)
public void addSearchField(CmsSearchField field, java.lang.String value)
I_CmsSearchDocument
addSearchField
in interface I_CmsSearchDocument
field
- the fieldvalue
- the valueI_CmsSearchDocument.addSearchField(org.opencms.search.fields.CmsSearchField, java.lang.String)
public void addSuffixField(java.lang.String suffix)
I_CmsSearchDocument
Example
'html' for a file named 'article.html'
addSuffixField
in interface I_CmsSearchDocument
suffix
- the suffix to addI_CmsSearchDocument.addSuffixField(java.lang.String)
public void addTypeField(java.lang.String typeName)
I_CmsSearchDocument
addTypeField
in interface I_CmsSearchDocument
I_CmsSearchDocument.addTypeField(java.lang.String)
public byte[] getContentBlob()
I_CmsSearchDocument
getContentBlob
in interface I_CmsSearchDocument
I_CmsSearchDocument.getContentBlob()
public java.lang.Object getDocument()
I_CmsSearchDocument
getDocument
in interface I_CmsSearchDocument
I_CmsSearchDocument.getDocument()
public java.util.List<java.lang.String> getFieldNames()
I_CmsSearchDocument
getFieldNames
in interface I_CmsSearchDocument
I_CmsSearchDocument.getFieldNames()
public java.util.Date getFieldValueAsDate(java.lang.String fieldName)
I_CmsSearchDocument
null
if the field is empty or if the field is not of the type date.getFieldValueAsDate
in interface I_CmsSearchDocument
fieldName
- the name of the field to get the Date value fornull
I_CmsSearchDocument.getFieldValueAsDate(java.lang.String)
public java.lang.String getFieldValueAsString(java.lang.String fieldName)
I_CmsSearchDocument
getFieldValueAsString
in interface I_CmsSearchDocument
fieldName
- the name of the field to get the String value fornull
if emptyI_CmsSearchDocument.getFieldValueAsString(java.lang.String)
public java.util.List<java.lang.String> getMultivaluedFieldAsStringList(java.lang.String fieldName)
I_CmsSearchDocument
getMultivaluedFieldAsStringList
in interface I_CmsSearchDocument
fieldName
- the name of the multi valued field to get the content ofnull
I_CmsSearchDocument.getMultivaluedFieldAsStringList(java.lang.String)
public java.lang.String getPath()
I_CmsSearchDocument
getPath
in interface I_CmsSearchDocument
I_CmsSearchDocument.getPath()
public float getScore()
I_CmsSearchDocument
getScore
in interface I_CmsSearchDocument
I_CmsSearchDocument.getScore()
public java.lang.String getType()
I_CmsSearchDocument
getType
in interface I_CmsSearchDocument
I_CmsSearchDocument.getType()
public void setBoost(float boost)
I_CmsSearchDocument
setBoost
in interface I_CmsSearchDocument
boost
- the factor to setI_CmsSearchDocument.setBoost(float)
public void setScore(float score)
I_CmsSearchDocument
setScore
in interface I_CmsSearchDocument
score
- the scoreI_CmsSearchDocument.setScore(float)