Skip to content

LINQ provider to run native queries on a Lucene.Net index

License

Notifications You must be signed in to change notification settings

zuiwanting/Lucene.Net.Linq

 
 

Repository files navigation

LINQ to Lucene.Net

Build Status

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

Available on NuGet Gallery

To install the Lucene.Net.Linq package, run the following command in the Package Manager Console

PM> Install-Package Lucene.Net.Linq

Examples

  1. Using attributes to configure mappings
  2. Specifying document keys

Upcoming features / ideas / bugs / known issues

See Issues on the GitHub project page.

About

LINQ provider to run native queries on a Lucene.Net index

Resources

License

Stars

Watchers

Forks

Packages

No packages published