Foundatio.Parsers icon indicating copy to clipboard operation
Foundatio.Parsers copied to clipboard

unable to build a lucene filter with special characters: f=mydate:[now/d TO now/d+30d/d]

Open niemyjski opened this issue 1 year ago • 2 comments

Reported by @ttugrad01

GET /count?f=mydate:[now/d TO now/d+30d/d]

  "message": "Invalid query: Unexpected character 'e'.",
  "is_error": true,
  "detail": "   at Foundatio.Parsers.LuceneQueries.Extensions.QueryVisitorContextExtensions.ThrowIfInvalid(IQueryVisitorContext context) in /_/src/Foundatio.Parsers.LuceneQueries/Extensions/QueryVisitorContextExtensions.cs:line 132\n   at Foundatio.Parsers.ElasticQueries.ElasticQueryParser.BuildQueryAsync(String query, IElasticQueryVisitorContext context) in /_/src/Foundatio.Parsers.ElasticQueries/ElasticQueryParser.cs:line 173\n   at Foundatio.Repositories.Elasticsearch.Queries.Builders.ParsedExpressionQueryBuilder.BuildAsync[T](QueryBuilderContext`1 ctx) in /_/src/Foundatio.Repositories.Elasticsearch/Queries/Builders/ExpressionQueryBuilder.cs:line 212\n   at Foundatio.Repositories.Elasticsearch.Queries.Builders.ElasticQueryBuilder.BuildAsync[T](QueryBuilderContext`1 ctx) in /_/src/Foundatio.Repositories.Elasticsearch/Queries/Builders/ElasticQueryBuilder.cs:line 178\n   at Foundatio.Repositories.Elasticsearch.Queries.Builders.ElasticQueryBuilderExtensions.BuildQueryAsync[T](IElasticQueryBuilder builder, IRepositoryQuery query, ICommandOptions options, SearchDescriptor`1 search) in /_/src/Foundatio.Repositories.Elasticsearch/Queries/Builders/IElasticQueryBuilder.cs:line 119\n   at Foundatio.Repositories.Elasticsearch.Queries.Builders.ElasticQueryBuilderExtensions.ConfigureSearchAsync[T](IElasticQueryBuilder builder, IRepositoryQuery query, ICommandOptions options, SearchDescriptor`1 search) in /_/src/Foundatio.Repositories.Elasticsearch/Queries/Builders/IElasticQueryBuilder.cs:line 133\n   at Foundatio.Repositories.Elasticsearch.ElasticReadOnlyRepositoryBase`1.ConfigureSearchDescriptorAsync(SearchDescriptor`1 search, IRepositoryQuery query, ICommandOptions options) in /_/src/Foundatio.Repositories.Elasticsearch/Repositories/ElasticReadOnlyRepositoryBase.cs:line 697\n   at Foundatio.Repositories.Elasticsearch.ElasticReadOnlyRepositoryBase`1.CountAsync(IRepositoryQuery query, ICommandOptions options) in /_/src/Foundatio.Repositories.Elasticsearch/Repositories/ElasticReadOnlyRepositoryBase.cs:line 510\n   at 

niemyjski avatar Nov 22 '24 20:11 niemyjski

This is parsed just fine by the parser.

Group:
    Left - Term Range: 
        Field: mydate
        Original Field: mydate
        IsNegated: False
        Max: now/d+30d/d
        Min: now/d
        MinInclusive: True
        MaxInclusive: True

ejsmith avatar Dec 21 '24 19:12 ejsmith

Any ideas why that extension would throw? @ttugrad01 can you please provide any more information.

niemyjski avatar Dec 23 '24 14:12 niemyjski