ES-compatible API
Endpoints:
- [x] https://github.com/quickwit-oss/quickwit/issues/2656
- [x] _msearch endpoint
- [x] https://github.com/quickwit-oss/quickwit/issues/2770 (high priority)
- [x] #3527
- [x] #3526
- [x] #3525
Search parameters:
- [x] https://github.com/quickwit-oss/quickwit/issues/3551 (high priority)
- [x] https://github.com/quickwit-oss/quickwit/issues/2670 (high priority)
- [x] #3310
- [x] #3523 (under discussion)
Query DSL:
- [x] #3263 (high priority)
- [x] Query string with
lenient,default_field,fieldsparams (high priority) - [x] Multi-match query with
[phrase_prefix, phrase]type,lenient(high priority) - [ ] Terms query note this is mildly different from term query. (s) (high priority)
~~- [Multi-match query with
analyze_wildcard+analyzer(under discussion)~~ - [x] Match all
{"match_all": {}} - [x] https://github.com/quickwit-oss/quickwit/issues/2657
- [x] Query string
- [x] Match query
- [x] #2266
- [x] Range query
- [x] Sort
Aggregation DSL:
- [x] Date histogram
- [x] Histogram
- [x] Percentiles aggregation
- [x] Terms aggregation
- [x] Stats aggregation
Other missing elastic features that we might discuss:
- [x] Support sort on multiple fields & different types of sort https://www.elastic.co/guide/en/elasticsearch/reference/8.6/sort-search-results.html (under discussion)
- [ ] Support selecting/excluding specific document source fields to display (under discussion)
Bumping priority for:
- Query string with
analyze_wildcard=> under discussion - Multi-match query
One thing I'm noticing missing from the _search api is the ability to search across multiple indicies
// curl -XPOST http://localhost:7200/api/v1/_elastic/ac*/_search -d '{"query": { "match_all": {} }, "size": 1}'
{
"status": 404,
"error": {
"caused_by": null,
"reason": "Index `ac*` does not exist.",
"stack_trace": null,
"type": null
}
}
// curl -XPOST http://localhost:7200/api/v1/_elastic/foo,bar/_search -d '{"query": { "match_all": {} }, "size": 1}'
{
"message": "Route not found"
}
Thanks for the feedback. Just confirming that search across multiple indices is not yet supported.
The Validation for index names is a little different than what elasticsearch allows.
^[a-zA-Z][a-zA-Z0-9-_]{2,254}$ doesn't allow for a dot (period) . Which is allowed and common in elastic index names.
It looks like the _bulk endpoint is lacking the ability to create missing indexes as well
It looks like the / endpoint will need to support the http method HEAD. As far as I can tell, most elasticsearch client do this when trying to establish a connection to verify the server is responsive.
Commenting about the HEAD request. @fmassot fixed it.