quickwit-oss / quickwit-oss/quickwit
Support for relaxed search schema in ES compatible endpoint to support direct query from OpenSearch Dashboards
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 11.7k
- Forks
- 597
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 37
Description
Is your feature request related to a problem? Please describe.
As of now Quickwit ES compatible endpoint is extremely strict on schema and do not allow optional fields passed to the query by OS Dashboards.
Describe the solution you'd like
Quickwit shouldn't reject queries with optional fields and should ignore them instead.
Describe alternatives you've considered
So far proxy resolve that, but solution is ugly.
Additional context
Examples of OSD queries here
Errors list:
-
.versionunknown fieldversion, expected one of ... -
.script_fieldsunknown fieldscript_fields, expected one of ... -
.docvalue_fieldsunknown fielddocvalue_fields, expected one of ... -
._sourceunknown field_source, expected one of ... -
.highlightunknown fieldhighlight, expected one o -
.query.bool.filter[].range.<>.formatOneOrMany could not deserialize any variant:\n One: invalid type: sequence, expected string or map\n Many: unknown fieldformat, expected one ofgt,gte,lt,lte,boost -
.aggs.2.date_histogram.calendar_intervaltantivy error: An invalid argument was passed: 'calendar_intervalparameter "1m" in date histogram is unsupported, onlyfixed_intervalis supported'- simple replace to
fixed_intervalat proxy fixes it - https://github.com/quickwit-oss/tantivy/issues/2037
- https://github.com/quickwit-oss/tantivy/issues/1952
- simple replace to
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the ES-compatible endpoint handling the OpenSearch Dashboards queries and compare its validation behavior with the linked proxy and example requests. Define the supported optional fields and confirm that unsupported optional fields are ignored without changing valid query results, including the listed range and date-histogram cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- elasticsearch, rust
- Domain
- api, backend, search
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100