Interface SearchResult

All Superinterfaces:
BaseSearchResult
All Known Implementing Classes:
AbstractSearchResult, LuceneSearchResult, OpenSearchSearchResult, ProjectedSearchResult

public interface SearchResult extends BaseSearchResult
An individual search result. The SearchResult provides access to a number of attributes that are populated directly from the index without requiring an additional database hit. There should be enough information directly in the result to give a pretty detailed description of the hit. It is heavier than it's parent @see BaseSearchResult which should be used in preference when the lucene fields required to be accessed can be known by the developer in advance of the lucene query being executed.
  • Field Details

  • Method Details

    • getExtraFields

      Map<String,String> getExtraFields()
      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.

      Returns:
      Map of additional field names and their values.
    • getContent

      String getContent()
      Gets the text content of the search result.
      Returns:
      the text content of the search result
    • getResultExcerpt

      default String getResultExcerpt()
      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.
      Returns:
      excerpt of the content of the search result
    • getResultExcerptWithHighlights

      default String getResultExcerptWithHighlights()
      Gets excerpt from the context of the search result, as getResultExcerpt(), but in a HTML-safe manner. Implementations should highlight hits with HIGHLIGHT_START and HIGHLIGHT_END. The default implementation simply HTML-encode the result of getResultExcerpt().
      Returns:
      excerpt of the content of the search result with matches highlighted
    • getType

      String getType()
      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 of ContentEntityObject.getType()
      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

      String getStatus()
      Gets a string representation of the entity status represented by the search result. If the entity is a content object, this is the value of ContentEntityObject.getContentStatus()
      Returns:
      the status of the entity
    • isHomePage

      boolean isHomePage()
      Checks if the search result represents the homepage of a space.
      Returns:
      true if the result represents the homepage of a space
    • getLastModificationDate

      Date getLastModificationDate()
      Gets the last modification date of the entity represented by the search result.
      Returns:
      the last modification date of the entity
    • getLastModifier

      @Deprecated String getLastModifier()
      Deprecated.
      since 5.2. Use getLastModifierUser() instead
    • getLastModifierUser

      ConfluenceUser getLastModifierUser()
      Gets the last person to modify the entity represented by the search result.
      Returns:
      the result's last modifier
      Since:
      5.2
    • getDisplayTitle

      String getDisplayTitle()
      Gets the title of the search result appropriate for displaying to a user. All results should return something useful for this method.
      Returns:
      the title of the search result appropriate for display on a page
      See Also:
    • getDisplayTitleWithHighlights

      default String getDisplayTitleWithHighlights()
      Gets the title of the search result appropriate for displaying to a user with matches highlighted. All results should return something useful for this method.
      Returns:
      the title of the search result appropriate for display on a page with matches highlighted
    • getUrlPath

      String getUrlPath()
      Gets the URL path to the search result, relative to the site's context root. All results should return something useful for this method
      Returns:
      the URL path to the search result
      See Also:
    • getLastUpdateDescription

      String getLastUpdateDescription()
      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

      Returns:
      a string describing the last modification to the content
      See Also:
    • getSpaceName

      String getSpaceName()
      Returns:
      the name of the space that contains this search result.
    • getSpaceKey

      String getSpaceKey()
      Returns:
      the key of the space that contains this search result
    • hasLabels

      boolean hasLabels()
      Returns:
      true if this search result has labels, false otherwise.
    • getLabels

      Set<String> getLabels(com.atlassian.user.User user)
      Gets the labels on the current search result that are visible to the specified user.
      Parameters:
      user - filter labels by this user
      Returns:
      the labels on the current search result that are visible to the specified user.
    • getPersonalLabels

      Set<String> getPersonalLabels()
      Gets all the personal labels on the current search result.
      Returns:
      all the personal labels on the current search result
    • getCreationDate

      Date getCreationDate()
    • getCreator

      @Deprecated String getCreator()
      Deprecated.
      since 5.2. Use getCreatorUser() instead
    • getCreatorUser

      ConfluenceUser getCreatorUser()
      Gets the person who created the entity represented by the search result.
      Returns:
      the result's creator
      Since:
      5.2
    • getOwnerType

      String getOwnerType()
      If this result represents an attachment then this field will return the type of the container, a page or blogpost.
      Returns:
      the owner type
    • getOwnerTitle

      String getOwnerTitle()
      If this result represents an attachment then this field will return the title of the page or blog post the attachment is attached to.
      Returns:
      the owner title
    • getContentVersion

      Integer getContentVersion() throws NumberFormatException
      Returns the version of the content if available, or null if there's no version for this result.
      Throws:
      NumberFormatException - if the document in the index has an unparseable version number
    • getExplain

      default Optional<String> getExplain()
      Returns query explanation if it is requested see ISearch.isExplain().