Foundatio.Lucene.EntityFramework
0.1.0
Prefix Reserved
dotnet add package Foundatio.Lucene.EntityFramework --version 0.1.0
NuGet\Install-Package Foundatio.Lucene.EntityFramework -Version 0.1.0
<PackageReference Include="Foundatio.Lucene.EntityFramework" Version="0.1.0" />
<PackageVersion Include="Foundatio.Lucene.EntityFramework" Version="0.1.0" />
<PackageReference Include="Foundatio.Lucene.EntityFramework" />
paket add Foundatio.Lucene.EntityFramework --version 0.1.0
#r "nuget: Foundatio.Lucene.EntityFramework, 0.1.0"
#:package Foundatio.Lucene.EntityFramework@0.1.0
#addin nuget:?package=Foundatio.Lucene.EntityFramework&version=0.1.0
#tool nuget:?package=Foundatio.Lucene.EntityFramework&version=0.1.0
Foundatio Lucene
A library for adding dynamic Lucene-style query capabilities to your .NET applications. Enable your users to write powerful search queries using familiar Lucene syntax, with support for Entity Framework and Elasticsearch.
This project is a modern replacement for Foundatio.Parsers.
β¨ Why Choose Foundatio Lucene?
- π Full Lucene Syntax - Terms, phrases, fields, ranges, boolean operators, wildcards, regex
- β‘ Entity Framework Integration - Convert Lucene queries directly to LINQ expressions
- π Elasticsearch Support - Generate Elasticsearch Query DSL using the official .NET 9.x client
- π§© Visitor Pattern - Transform, validate, or analyze queries with composable visitors
- πΊοΈ Field Aliasing - Map user-friendly field names to your actual data model
- β Query Validation - Restrict allowed fields, operators, and patterns
- π Round-Trip Capable - Parse queries to AST and convert back to query strings
- π‘οΈ Error Recovery - Resilient parser returns partial AST with detailed error information
π Quick Example
using Foundatio.Lucene;
using Foundatio.Lucene.EntityFramework;
// Parse a Lucene query
var result = LuceneQuery.Parse("title:hello AND status:active");
// Or build LINQ expressions for Entity Framework
var parser = new EntityFrameworkQueryParser();
Expression<Func<Employee, bool>> filter = parser.BuildFilter<Employee>(
"name:john AND salary:[50000 TO *]"
);
var employees = await context.Employees.Where(filter).ToListAsync();
π Learn More
Key topics:
- Getting Started - Installation and basic usage
- Query Syntax - Full syntax reference
- Entity Framework - EF Core integration
- Elasticsearch - Elasticsearch Query DSL generation
- Visitors - AST transformation patterns
- Validation - Query validation options
π¦ CI Packages (Feedz)
Want the latest CI build before it hits NuGet? Add the Feedz source (read-only public) and install the pre-release version:
dotnet nuget add source https://f.feedz.io/foundatio/foundatio/nuget -n foundatio-feedz
dotnet add package Foundatio.Lucene --prerelease
Or add to your NuGet.config:
<configuration>
<packageSources>
<add key="foundatio-feedz" value="https://f.feedz.io/foundatio/foundatio/nuget" />
</packageSources>
<packageSourceMapping>
<packageSource key="foundatio-feedz">
<package pattern="Foundatio.*" />
</packageSource>
</packageSourceMapping>
</configuration>
CI builds are published with pre-release version tags (e.g. 1.0.0-preview.12345+sha.abcdef). Use them to try new features earlyβavoid in production unless you understand the changes.
π€ Contributing
Contributions are welcome! Please feel free to submit a Pull Request. See our documentation for development guidelines.
π Related Projects
- Foundatio.Parsers - The predecessor to this library
- Foundatio - Pluggable foundation blocks for building distributed apps
π License
Apache 2.0
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Foundatio.Lucene (>= 0.1.0)
- Microsoft.EntityFrameworkCore (>= 10.0.1)
-
net8.0
- Foundatio.Lucene (>= 0.1.0)
- Microsoft.EntityFrameworkCore (>= 9.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0 | 103 | 1/12/2026 |