Class SearchService
Principal Quick Search API to initiate searches and fetch results.
Namespace: Unity.QuickSearch
Syntax
public static class SearchService
Properties
OrderedProviders
Returns the list of providers sorted by priority.
Declaration
public static IEnumerable<SearchProvider> OrderedProviders { get; }
Property Value
Type | Description |
---|---|
IEnumerable<SearchProvider> |
Providers
Returns the list of all providers (active or not)
Declaration
public static List<SearchProvider> Providers { get; }
Property Value
Type | Description |
---|---|
List<SearchProvider> |
Methods
CreateContext(IEnumerable<String>, String, SearchFlags)
Create context from a list of provider id.
Declaration
public static SearchContext CreateContext(IEnumerable<string> providerIds, string searchText = "", SearchFlags flags = SearchFlags.Sorted | SearchFlags.Default)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<String> | providerIds | List of provider id |
String | searchText | seach Query |
SearchFlags | flags | Options defining how the query will be performed |
Returns
Type | Description |
---|---|
SearchContext | New SearchContext |
CreateContext(IEnumerable<SearchProvider>, String, SearchFlags)
Create context from a list of providers.
Declaration
public static SearchContext CreateContext(IEnumerable<SearchProvider> providers, string searchText = "", SearchFlags flags = SearchFlags.Sorted | SearchFlags.Default)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<SearchProvider> | providers | List of providers |
String | searchText | seach Query |
SearchFlags | flags | Options defining how the query will be performed |
Returns
Type | Description |
---|---|
SearchContext | New SearchContext |
GetAction(SearchProvider, String)
Returns the search action data for a given provider and search action id.
Declaration
public static SearchAction GetAction(SearchProvider provider, string actionId)
Parameters
Type | Name | Description |
---|---|---|
SearchProvider | provider | Provider to lookup |
String | actionId | Unique action ID within the provider. |
Returns
Type | Description |
---|---|
SearchAction | The matching action |
GetItems(SearchContext, SearchFlags)
Initiate a search and return all search items matching the search context. Other items can be found later using the asynchronous searches.
Declaration
public static List<SearchItem> GetItems(SearchContext context, SearchFlags options = SearchFlags.Sorted | SearchFlags.Default)
Parameters
Type | Name | Description |
---|---|---|
SearchContext | context | The current search context |
SearchFlags | options | Options defining how the query will be performed |
Returns
Type | Description |
---|---|
List<SearchItem> | A list of search items matching the search query. |
GetKeywords(SearchContext, String)
Returns a list of keywords used by auto-completion for the active providers.
Declaration
public static string[] GetKeywords(SearchContext context, string lastToken)
Parameters
Type | Name | Description |
---|---|---|
SearchContext | context | Current search context |
String | lastToken | Search token currently being typed. |
Returns
Type | Description |
---|---|
String[] | A list of keywords that can be shown in an auto-complete dropdown. |
GetProvider(String)
Returns the data of a search provider given its ID.
Declaration
public static SearchProvider GetProvider(string providerId)
Parameters
Type | Name | Description |
---|---|---|
String | providerId | Unique ID of the provider |
Returns
Type | Description |
---|---|
SearchProvider | The matching provider |
LoadExpression(String, SearchFlags)
Load a search expression asset.
Declaration
public static ISearchExpression LoadExpression(string expressionPath, SearchFlags options = SearchFlags.Sorted | SearchFlags.Default)
Parameters
Type | Name | Description |
---|---|---|
String | expressionPath | Asset path of the search expression |
SearchFlags | options | Options defining how the query will be performed |
Returns
Type | Description |
---|---|
ISearchExpression | Returns a SearchExpression ready to be evaluated. |
ParseExpression(String, SearchFlags)
Parse a simple json document string as a SearchExpression.
Declaration
public static ISearchExpression ParseExpression(string sjson, SearchFlags options = SearchFlags.Sorted | SearchFlags.Default)
Parameters
Type | Name | Description |
---|---|---|
String | sjson | Simple Json string defining a SearchExpression |
SearchFlags | options | Options defining how the query will be performed |
Returns
Type | Description |
---|---|
ISearchExpression | Returns a SearchExpression ready to be evaluated. |
Refresh()
Clears everything and reloads all search providers.
Declaration
public static void Refresh()
Remarks
Use with care. Useful for unit tests.
Request(SearchContext, SearchFlags)
Execute a search request that will fetch search results asynchronously.
Declaration
public static ISearchList Request(SearchContext context, SearchFlags options = SearchFlags.None)
Parameters
Type | Name | Description |
---|---|---|
SearchContext | context | Search context used to track asynchronous request. |
SearchFlags | options | Options defining how the query will be performed |
Returns
Type | Description |
---|---|
ISearchList | Asynchronous list of search items. |
SetActive(String, Boolean)
Activate or deactivate a search provider. Call Refresh after this to take effect on the next search.
Declaration
public static void SetActive(string providerId, bool active = true)
Parameters
Type | Name | Description |
---|---|---|
String | providerId | Provider id to activate or deactivate |
Boolean | active | Activation state |