ChatJoin the chat at https://gitter.im/WildGums/Orc.Search
DownloadsNuGet downloads
Stable versionStable version
Unstable versionUnstable version
Find the source at https://github.com/WildGums/Orc.Search.

Easily add searching to any application.

Uses Lucene in the background.

Search Syntax: http://www.lucenetutorial.com/lucene-query-syntax.html

Nuget Packages


Quick start

  1. Create a POCO class to use in your search and decorate the properties with SearchablePropertyAttribute
public class Person
	[SearchableProperty(SearchName = "firstname")]
	public string FirstName { get; set; }
	[SearchableProperty(SearchName = "lastname")]
	public string LastName { get; set; }
	public int Age { get; set; }
  1. Fill the ISearchService with the appropriate “Person” data using the AddObjects() method. The objects must be wrapped inside an ISearchable implementation, for example the ReflectionSearchable:
searchService.AddObjects(persons.Select(x => new ReflectionSearchable(x));

In order to use the asynchronous version of search. Just use the Async suffix method names (i.e. SearchAsync(), AddObjectsAsync(), RemoveObjectsAsync())


We would like to thank the following contributors:

Want to contribute to the documentation? We have a guide for that!


Have a question about Catel or WildGums controls? Use StackOverflow with the Catel tag!