Lucene.Net.Linq is a .net library that enables LINQ queries to run natively on a Lucene.Net index.
- Automatically converts PONOs to Documents and back
- Add, delete and update documents in atomic transaction
- Unit of Work pattern automatically tracks and flushes updated documents
- Update/replace documents with [Field(Key=true)] to prevent duplicates
- Term queries
- Prefix queries
- Range queries and numeric range queries
- Complex boolean queries
- Native pagination using Skip and Take
- Support storing and querying NumericField
- Automatically convert complex types for storing, querying and sorting
- Custom boost functions using IQueryable.Boost() extension method
- Sort by standard string, NumericField or any type that implements IComparable
- Sort by item.Score() extension method to sort by relevance
- Specify custom format for DateTime stored as strings
- Register cache-warming queries to be executed when IndexSearcher is being reloaded
To install the Lucene.Net.Linq package, run the following command in the Package Manager Console
PM> Install-Package Lucene.Net.Linq
- Using attributes to configure mappings
- Specifying document keys
See Issues on the GitHub project page.