NHibernate.Search is an extension to NHibernate that allows you to utilize Lucene.NET, a full text search engine as your query engine, instead of putting additional load on the database itself.
NHibernate.Search brings the power of full text search engines to the persistence domain model by combining NHibernate with the capabilities of the Lucene.Net search engine.
NHibernate.Search is a port of Hibernate.Search. As stated on the Hibernate.Search Overview page (JBoss Community):
Full text search engines like Apache Lucene™ are very powerful technologies to add efficient free text search capabilities to applications. However, Lucene suffers several mismatches when dealing with object domain models. Amongst other things indexes have to be kept up to date and mismatches between index structure and domain model as well as query mismatches have to be avoided.
Hibernate Search addresses these shortcomings. It indexes your domain model with the help of a few annotations, takes care of database/index synchronization and brings back regular managed objects from free text queries. Hence, it solves:
The structural mismatch: Hibernate Search takes care of the object/index translation
The duplication mismatch: Hibernate Search manages the index, keeps changes synchronized with your database, and optimizes the index access transparently
The API mismatch: Hibernate Search lets you query the index and retrieve managed objects as any regular Hibernate query would do
The Nuget Package can be found here: http://nuget.org/packages/NHibernate.Search
More information on the original version of Hibernate.Search can be found here: http://www.hibernate.org/subprojects/search.html