org.exoplatform.commons.search.service
Class UnifiedSearchService

java.lang.Object
  extended by org.exoplatform.commons.search.service.UnifiedSearchService
All Implemented Interfaces:
org.exoplatform.services.rest.resource.ResourceContainer

public class UnifiedSearchService
extends Object
implements org.exoplatform.services.rest.resource.ResourceContainer

This class provides RESTful services endpoints which will help all external components to call unified search functions. These services include Search, Registry, Sites, Search settings, Quick search settings, and Enable search type.


Constructor Summary
UnifiedSearchService(org.exoplatform.commons.api.search.SearchService searchService, org.exoplatform.commons.api.settings.SettingService settingService, org.exoplatform.portal.config.UserPortalConfigService userPortalConfigService, org.exoplatform.web.WebAppController webAppController)
          A constructor creates a instance of unified search service with the specified parameters
 
Method Summary
static List<String> getEnabledSearchTypes()
           
 javax.ws.rs.core.Response REST_getQuicksearchSetting()
          Gets current user's quick search settings.
 javax.ws.rs.core.Response REST_getRegistry()
          Gets all connectors which are registered in the system and are enabled.
 javax.ws.rs.core.Response REST_getSearchSetting()
          Gets current user's search settings.
 javax.ws.rs.core.Response REST_getSites()
          Gets all available sites in the system.
 javax.ws.rs.core.Response REST_search(javax.ws.rs.core.UriInfo uriInfo, String query, String sSites, String sTypes, String sOffset, String sLimit, String sort, String order)
          Searches for a query.
 javax.ws.rs.core.Response REST_setEnabledSearchtypes(String searchTypes)
          Sets the "enabledSearchTypes" variable in a global context.
 javax.ws.rs.core.Response REST_setQuicksearchSetting(long resultsPerPage, String searchTypes, boolean searchCurrentSiteOnly)
          Saves current user's quick search settings.
 javax.ws.rs.core.Response REST_setSearchSetting(long resultsPerPage, String searchTypes, boolean searchCurrentSiteOnly, boolean hideSearchForm, boolean hideFacetsFilter)
          Saves current user's search settings.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UnifiedSearchService

public UnifiedSearchService(org.exoplatform.commons.api.search.SearchService searchService,
                            org.exoplatform.commons.api.settings.SettingService settingService,
                            org.exoplatform.portal.config.UserPortalConfigService userPortalConfigService,
                            org.exoplatform.web.WebAppController webAppController)
A constructor creates a instance of unified search service with the specified parameters

Parameters:
searchService - a service to work with other connectors
settingService - a service to store and get the setting values
userPortalConfigService - a service to get user information from portal
webAppController - a controller to get configuration path
Method Detail

REST_search

public javax.ws.rs.core.Response REST_search(@Context
                                             javax.ws.rs.core.UriInfo uriInfo,
                                             String query,
                                             String sSites,
                                             String sTypes,
                                             String sOffset,
                                             String sLimit,
                                             String sort,
                                             String order)
Searches for a query.

Parameters:
context - Search context
query - Searches for a query which is entered by the user.
sSites - Searches in the specified sites only (for example, ACME or Intranet).
sTypes - Searches for these specified content types only (for example, people, discussions, events, tasks, wikis, spaces, files, and documents).
sOffset - Starts the offset of the results set.
sLimit - Limit the maximum size of the results set.
sort - Defines the Sort type (relevancy, date, title).
order - Defines the Sort order (ascending, descending).
Returns:
a map of connectors, including their search results.

REST_getRegistry

public javax.ws.rs.core.Response REST_getRegistry()
Gets all connectors which are registered in the system and are enabled.

Returns:
List of connectors and names of the enabled ones.

REST_getSites

public javax.ws.rs.core.Response REST_getSites()
Gets all available sites in the system.

Returns:
a list of site names

REST_getSearchSetting

public javax.ws.rs.core.Response REST_getSearchSetting()
Gets current user's search settings.

Returns:
search settings of the current logging in (or anonymous) user

REST_setSearchSetting

public javax.ws.rs.core.Response REST_setSearchSetting(long resultsPerPage,
                                                       String searchTypes,
                                                       boolean searchCurrentSiteOnly,
                                                       boolean hideSearchForm,
                                                       boolean hideFacetsFilter)
Saves current user's search settings.

Returns:
"ok" when succeed

REST_getQuicksearchSetting

public javax.ws.rs.core.Response REST_getQuicksearchSetting()
Gets current user's quick search settings.

Returns:
quick search settings of the current logging in user

REST_setQuicksearchSetting

public javax.ws.rs.core.Response REST_setQuicksearchSetting(long resultsPerPage,
                                                            String searchTypes,
                                                            boolean searchCurrentSiteOnly)
Saves current user's quick search settings.

Returns:
"ok" when succeed

getEnabledSearchTypes

public static List<String> getEnabledSearchTypes()

REST_setEnabledSearchtypes

public javax.ws.rs.core.Response REST_setEnabledSearchtypes(String searchTypes)
Sets the "enabledSearchTypes" variable in a global context.

Parameters:
searchTypes - List of search types in the form of a comma-separated string.
Returns:
"ok" if the caller's role is administrator, otherwise, returns "nok: administrators only".


Copyright © 2003-2013 eXo Platform SAS. All Rights Reserved.