# ISearchEngine<T>

> The base interface for search engines that implement a search operation.

## Definition

* **Type:** Interface
* **Namespace:** [UnityEditor.SearchService](/engine/6000.5/script-reference/unityeditor/searchservice.md)
* **Assembly:** UnityEditor.CoreModule

```csharp
public interface ISearchEngine<T> : ISearchEngineBase
```

## Remarks

In a search operation, the search engine is responsible for providing all the elements that satisfy the search query. This is the type of search used by [Project](/engine/6000.5/script-reference/unityeditor/searchservice/project.md).

## Methods

| Method                                                                                       | Description                                                                  |
| -------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| [Search](/engine/6000.5/script-reference/unityeditor/searchservice/isearchengine1/search.md) | This function returns an IEnumerable of items that satisfy the search query. |

## Inheritance

**Inherited Members:**

* [ISearchEngineBase.BeginSession(ISearchContext)](/engine/6000.5/script-reference/unityeditor/searchservice/isearchenginebase/beginsession.md)
* [ISearchEngineBase.EndSession(ISearchContext)](/engine/6000.5/script-reference/unityeditor/searchservice/isearchenginebase/endsession.md)
* [ISearchEngineBase.BeginSearch(ISearchContext, string)](/engine/6000.5/script-reference/unityeditor/searchservice/isearchenginebase/beginsearch.md)
* [ISearchEngineBase.EndSearch(ISearchContext)](/engine/6000.5/script-reference/unityeditor/searchservice/isearchenginebase/endsearch.md)
* [ISearchEngineBase.name](/engine/6000.5/script-reference/unityeditor/searchservice/isearchenginebase/name.md)
