Class AbstractSearchResult
java.lang.Object
com.atlassian.confluence.search.v2.AbstractSearchResult
- All Implemented Interfaces:
BaseSearchResult
,SearchResult
- Direct Known Subclasses:
LuceneSearchResult
,OpenSearchSearchResult
Abstract base implementation of SearchResult taken from LuceneSearchResult after removing dependency from Lucene classes
- Since:
- 5.9
-
Field Summary
Fields inherited from interface com.atlassian.confluence.search.v2.SearchResult
HIGHLIGHT_END, HIGHLIGHT_START
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
AbstractSearchResult
(Function<String, ConfluenceUser> userLookup) -
Method Summary
Modifier and TypeMethodDescriptionGets the text content of the search result.Returns the version of the content if available, ornull
if there's no version for this result.Deprecated.Gets the person who created the entity represented by the search result.protected Date
getDateResult
(String key) Gets the title of the search result appropriate for displaying to a user.If the retrieved documents contain additional fields that cannot be directly accessed by this interface then they can be retrieved via this method.Returns the contents of the field as a string.Return names of all fields of a given document.abstract String
getFieldValue
(String fieldName) Return a string value of a field of a given document, if the field has multiple values then return last value, if there is no such field then return null.getFieldValues
(String fieldName) Return set of string values of a field of a given document, if the field has single value then return singleton set of that value, if there is no such field then return empty set.Retrieves the handle that can then be used by the AnyTypeDao to retrieve the database object referenced by this search result.protected Integer
getIntegerResult
(String fieldName) getLabels
(com.atlassian.user.User user) Gets the labels on the current search result that are visible to the specified user.Gets the last modification date of the entity represented by the search result.Deprecated.Gets the last person to modify the entity represented by the search result.Gets some string describing the last modification to this content.If this result represents an attachment then this field will return the title of the page or blog post the attachment is attached to.If this result represents an attachment then this field will return the type of the container, a page or blogpost.Gets all the personal labels on the current search result.Gets excerpt from the context of the search result.protected String
getResultExcerpt
(int maxLength) protected String
Gets a string representation of the entity status represented by the search result.protected String
getStringResult
(String... fieldNames) Retrieves the value for the specified field name.getType()
Gets a string representation of the type of the entity represented by the search result.Gets the URL path to the search result, relative to the site's context root.protected ConfluenceUser
getUserResult
(String fieldName) Attempts to resolve the contents of the given field as aConfluenceUser
.boolean
boolean
Checks if the search result represents the homepage of a space.toString()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.atlassian.confluence.search.v2.BaseSearchResult
getHandleId
Methods inherited from interface com.atlassian.confluence.search.v2.SearchResult
getDisplayTitleWithHighlights, getExplain, getResultExcerptWithHighlights
-
Constructor Details
-
AbstractSearchResult
protected AbstractSearchResult() -
AbstractSearchResult
-
-
Method Details
-
getLabels
Description copied from interface:SearchResult
Gets the labels on the current search result that are visible to the specified user.- Specified by:
getLabels
in interfaceSearchResult
- Parameters:
user
- filter labels by this user- Returns:
- the labels on the current search result that are visible to the specified user.
-
getPersonalLabels
Description copied from interface:SearchResult
Gets all the personal labels on the current search result.- Specified by:
getPersonalLabels
in interfaceSearchResult
- Returns:
- all the personal labels on the current search result
-
getContent
Description copied from interface:SearchResult
Gets the text content of the search result.- Specified by:
getContent
in interfaceSearchResult
- Returns:
- the text content of the search result
-
getSanitisedContent
-
getResultExcerpt
-
getResultExcerpt
Description copied from interface:SearchResult
Gets excerpt from the context of the search result. Implementation could choose how to generate the result excerpts, for example, concatenated fragments of the document content where hits are found, or simply the first few words of the document.- Specified by:
getResultExcerpt
in interfaceSearchResult
- Returns:
- excerpt of the content of the search result
-
getType
Description copied from interface:SearchResult
Gets a string representation of the type of the entity represented by the search result. If the entity is a content object, this is the value ofContentEntityObject.getType()
- Specified by:
getType
in interfaceSearchResult
- Returns:
- the type of the entity represented as a string, or null if no such type can be determined
- See Also:
-
com.atlassian.confluence.core.Addressable#getType()
-
getStatus
Description copied from interface:SearchResult
Gets a string representation of the entity status represented by the search result. If the entity is a content object, this is the value ofContentEntityObject.getContentStatus()
- Specified by:
getStatus
in interfaceSearchResult
- Returns:
- the status of the entity
-
isHomePage
public boolean isHomePage()Description copied from interface:SearchResult
Checks if the search result represents the homepage of a space.- Specified by:
isHomePage
in interfaceSearchResult
- Returns:
- true if the result represents the homepage of a space
-
getCreationDate
- Specified by:
getCreationDate
in interfaceSearchResult
-
getCreator
Deprecated.- Specified by:
getCreator
in interfaceSearchResult
-
getCreatorUser
Description copied from interface:SearchResult
Gets the person who created the entity represented by the search result.- Specified by:
getCreatorUser
in interfaceSearchResult
- Returns:
- the result's creator
-
getOwnerType
Description copied from interface:SearchResult
If this result represents an attachment then this field will return the type of the container, a page or blogpost.- Specified by:
getOwnerType
in interfaceSearchResult
- Returns:
- the owner type
-
getOwnerTitle
Description copied from interface:SearchResult
If this result represents an attachment then this field will return the title of the page or blog post the attachment is attached to.- Specified by:
getOwnerTitle
in interfaceSearchResult
- Returns:
- the owner title
-
getContentVersion
Description copied from interface:SearchResult
Returns the version of the content if available, ornull
if there's no version for this result.- Specified by:
getContentVersion
in interfaceSearchResult
-
getLastModificationDate
Description copied from interface:SearchResult
Gets the last modification date of the entity represented by the search result.- Specified by:
getLastModificationDate
in interfaceSearchResult
- Returns:
- the last modification date of the entity
-
getLastModifier
Deprecated.- Specified by:
getLastModifier
in interfaceSearchResult
-
getLastModifierUser
Description copied from interface:SearchResult
Gets the last person to modify the entity represented by the search result.- Specified by:
getLastModifierUser
in interfaceSearchResult
- Returns:
- the result's last modifier
-
getDisplayTitle
Description copied from interface:SearchResult
Gets the title of the search result appropriate for displaying to a user. All results should return something useful for this method.- Specified by:
getDisplayTitle
in interfaceSearchResult
- Returns:
- the title of the search result appropriate for display on a page
- See Also:
-
getUrlPath
Description copied from interface:SearchResult
Gets the URL path to the search result, relative to the site's context root. All results should return something useful for this method- Specified by:
getUrlPath
in interfaceSearchResult
- Returns:
- the URL path to the search result
- See Also:
-
getLastUpdateDescription
Description copied from interface:SearchResult
Gets some string describing the last modification to this content. May be null if no such string is available. For content objects, this will be the same as the "version comment"This string is user-supplied, and therefore not internationalised
- Specified by:
getLastUpdateDescription
in interfaceSearchResult
- Returns:
- a string describing the last modification to the content
- See Also:
-
getSpaceName
- Specified by:
getSpaceName
in interfaceSearchResult
- Returns:
- the name of the space that contains this search result.
-
getSpaceKey
- Specified by:
getSpaceKey
in interfaceSearchResult
- Returns:
- the key of the space that contains this search result
-
hasLabels
public boolean hasLabels()- Specified by:
hasLabels
in interfaceSearchResult
- Returns:
- true if this search result has labels, false otherwise.
-
getExtraFields
Description copied from interface:SearchResult
If the retrieved documents contain additional fields that cannot be directly accessed by this interface then they can be retrieved via this method.The field names are abstracted from the underlying search implementation and will be centrally defined. Their values are not yet documented.
- Specified by:
getExtraFields
in interfaceSearchResult
- Returns:
- Map of additional field names and their values.
-
getHandle
Description copied from interface:BaseSearchResult
Retrieves the handle that can then be used by the AnyTypeDao to retrieve the database object referenced by this search result.Because the database and index are not updated at the same time, it is possible for a deleted entity to still be represented in the search index. Do not assume that this handle will always refer to a live object.
- Specified by:
getHandle
in interfaceBaseSearchResult
- Returns:
- the handle that can be used to look up the underlying database object.
- See Also:
-
getFieldNames
Description copied from interface:BaseSearchResult
Return names of all fields of a given document.- Specified by:
getFieldNames
in interfaceBaseSearchResult
- Returns:
- names of all known fields or null
-
getField
Description copied from interface:BaseSearchResult
Returns the contents of the field as a string. This method will return null if there is no content for the field or the field does not exist. FieldName is case sensitive.- Specified by:
getField
in interfaceBaseSearchResult
- Returns:
- the field value or null.
-
getFieldValue
Return a string value of a field of a given document, if the field has multiple values then return last value, if there is no such field then return null.- Returns:
- a string value of a field
-
getFieldValues
Return set of string values of a field of a given document, if the field has single value then return singleton set of that value, if there is no such field then return empty set.- Specified by:
getFieldValues
in interfaceBaseSearchResult
- Returns:
- a string value of a field
-
toString
-
getStringResult
Retrieves the value for the specified field name. If more than one field name is provided, it will attempt to retrieve a value for each field in order, returning as soon as a non-null value is encountered.- Parameters:
fieldNames
- field name(s) to retrieve a value for- Returns:
- the first non-null value associated with the ordered list of field names passed in
-
getUserResult
Attempts to resolve the contents of the given field as aConfluenceUser
. The method first attempts to resolve the user using the field value as aUserKey
. If that fails, it tries to resolve the user using the field value as a username. If that fails, it returns null. This is necessary because the sameSearchFieldMappings.LAST_MODIFIER
andSearchFieldMappings.CREATOR
fields are used both to store userkeys (post-upgrade) and usernames (pre-upgrade).- Since:
- 5.2
-
getDateResult
-
getIntegerResult
-