com.atlassian.confluence.plugins.rest.resources
Class SearchService

java.lang.Object
  extended by com.atlassian.confluence.plugins.rest.resources.AbstractResource
      extended by com.atlassian.confluence.plugins.rest.resources.SearchService

public class SearchService
extends AbstractResource

A service providing search results using the Confluence search with various parameters.


Field Summary
 
Fields inherited from class com.atlassian.confluence.plugins.rest.resources.AbstractResource
authContext, uriInfo, userAccessor
 
Constructor Summary
SearchService(UserAccessor userAccessor, RestSearchService searchService, SpacePermissionManager spacePermissionManager)
           
 
Method Summary
 javax.ws.rs.core.Response doContentNameSearch(java.lang.String query, java.lang.String type, java.lang.String spaceKey, java.util.Set<java.lang.String> attachmentType, java.util.Set<java.lang.String> label, boolean groupResults, boolean searchParentName, java.lang.String preferredSpaceKey, int startIndex, java.lang.Integer pageSize)
          Search is performed on the name of content only e.g.
 javax.ws.rs.core.Response doGroupSearch(java.lang.String query, int maxResults)
          Group specific search.
 javax.ws.rs.core.Response doSearch(java.lang.String query, java.lang.String type, java.lang.String search, int startIndex, java.lang.Integer pageSize, java.lang.Integer maxResults, java.lang.String spaceKey, java.util.Set<java.lang.String> attachmentType, java.util.Set<java.lang.String> label, boolean groupResults, boolean searchParentName, java.lang.String preferredSpaceKey)
          Search Confluence using the given parameters.
 javax.ws.rs.core.Response doSiteSearch(java.lang.String query, java.lang.String type, java.lang.String spaceKey, java.util.Set<java.lang.String> attachmentType, java.util.Set<java.lang.String> label, int startIndex, java.lang.Integer pageSize)
          Site wide Confluence search.
 javax.ws.rs.core.Response doUserOrGroupSearch(java.lang.String query, int maxResults)
          User and group specific search.
 javax.ws.rs.core.Response doUserSearch(java.lang.String query, int maxResults)
          User specific search.
 
Methods inherited from class com.atlassian.confluence.plugins.rest.resources.AbstractResource
createRequestContext, getAnonymousUserUriBuilder, getAttachmentUriBuilder, getContentUriBuilder, getCurrentUser, getMissingUserUriBuilder, getSpaceUriBuilder, getUserUriBuilder
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SearchService

public SearchService(UserAccessor userAccessor,
                     RestSearchService searchService,
                     SpacePermissionManager spacePermissionManager)
Method Detail

doSearch

public javax.ws.rs.core.Response doSearch(java.lang.String query,
                                          java.lang.String type,
                                          java.lang.String search,
                                          int startIndex,
                                          java.lang.Integer pageSize,
                                          java.lang.Integer maxResults,
                                          java.lang.String spaceKey,
                                          java.util.Set<java.lang.String> attachmentType,
                                          java.util.Set<java.lang.String> label,
                                          boolean groupResults,
                                          boolean searchParentName,
                                          java.lang.String preferredSpaceKey)
Search Confluence using the given parameters.

Parameters:
query - Query string.
type - Content types to search for. Can be one of: PAGE, COMMENT, BLOG, ATTACHMENT, PERSONAL_INFORMATION, SPACE_DESCRIPTION, PERSONAL_SPACE_DESCRIPTION, RAW or USER_STATUS. You can specify multiple types by passing a comma separated list like: &type=mail,blog
search - The type of search. Can be one of: name, site (case sensitive, if no match is found site is assumed).
startIndex - Start index for site/ungrouped name searches.
pageSize - Max size of page for site/ungrouped name searches.
spaceKey - Keys of spaces to search in. If not specified, Confluence searches in all spaces.
attachmentType - Attachment types to search in. If not specified, Confluence searches all attachments. Can be one or more of: PDF IMAGE, XML, HTML, TEXT, WORD, EXCEL, POWERPOINT, JAVA_SOURCE, JAVA_ARCHIVE, ZIP. You can specify multiple types like this: ?attachmentType=image&attachmentType=pdf
label - Filters the results for content with the specified labels, if not specified all results are returned. Format is namespace:label, e.g. global:label. Namespaces: global, my, team, and system.
groupResults - indicates whether results should be grouped (default is true) for name searches
searchParentName - indicates whether search should include the parent name (e.g. a page title for an attachment) for name searches
preferredSpaceKey - the space key that is used to search by
Returns:

doSiteSearch

public javax.ws.rs.core.Response doSiteSearch(java.lang.String query,
                                              java.lang.String type,
                                              java.lang.String spaceKey,
                                              java.util.Set<java.lang.String> attachmentType,
                                              java.util.Set<java.lang.String> label,
                                              int startIndex,
                                              java.lang.Integer pageSize)
Site wide Confluence search.

Parameters:
query - query string
type - content types to search for
spaceKey - keys of spaces to search in, if not specified it searches in all spaces
attachmentType - attachment types to search in, if not specified it searches all attachments
startIndex - start index of search results
pageSize - max page size of search results
label - Filters the results for content with the specified labels, if not specified all results are returned. Format is namespace:label, e.g. global:label. Namespaces: global, my, team, and system.

doContentNameSearch

public javax.ws.rs.core.Response doContentNameSearch(java.lang.String query,
                                                     java.lang.String type,
                                                     java.lang.String spaceKey,
                                                     java.util.Set<java.lang.String> attachmentType,
                                                     java.util.Set<java.lang.String> label,
                                                     boolean groupResults,
                                                     boolean searchParentName,
                                                     java.lang.String preferredSpaceKey,
                                                     int startIndex,
                                                     java.lang.Integer pageSize)
Search is performed on the name of content only e.g. title of page, name of attachment

Parameters:
query - query string
type - content types to search for
spaceKey - keys of spaces to search in, if not specified it searches in all spaces
attachmentType - attachment types to search in, if not specified it searches all attachments
label - Filters the results for content with the specified labels, if not specified all results are returned. Format is namespace:label, e.g. global:label. Namespaces: global, my, team, and system.
groupResults - indicates whether results should be grouped (default is true)
searchParentName - indicates whether search should include the parent name (e.g. a page title for an attachment)
startIndex - start index of search results (ignored when groupResults is true)
pageSize - max page size of search results (ignored when groupResults is true)

doUserSearch

public javax.ws.rs.core.Response doUserSearch(java.lang.String query,
                                              int maxResults)
User specific search. Searches on username and full name.

Parameters:
query - query string
maxResults - maximum number of search results

doGroupSearch

public javax.ws.rs.core.Response doGroupSearch(java.lang.String query,
                                               int maxResults)
Group specific search. Searches on group name.

Parameters:
query - The group name (or the start of the group name)
maxResults - maximum number of search results

doUserOrGroupSearch

public javax.ws.rs.core.Response doUserOrGroupSearch(java.lang.String query,
                                                     int maxResults)
User and group specific search. Searches on username, full name and group name.

Parameters:
query - The name (or the start of the name)
maxResults - maximum number of search results


Copyright © 2003-2014 Atlassian. All Rights Reserved.