Full Lucene Syntax
Support for terms, phrases, fields, ranges, boolean operators, wildcards, regex, and more.
Enable powerful user-driven search queries in your .NET applications with Entity Framework and Elasticsearch support
using Foundatio.Lucene;
// Parse a user query
var result = LuceneQuery.Parse("title:hello AND status:active");
if (result.IsSuccess)
{
var document = result.Document; // QueryDocument (root AST node)
}using Foundatio.Lucene.EntityFramework;
var parser = new EntityFrameworkQueryParser();
var filter = parser.BuildFilter<Employee>("name:john AND salary:[50000 TO *]");
var results = await context.Employees.Where(filter).ToListAsync();using Foundatio.Lucene.Elasticsearch;
var parser = new ElasticsearchQueryParser(config =>
{
config.UseScoring = true;
config.DefaultFields = ["title", "content"];
});
var query = parser.BuildQuery("author:john AND status:active");