quickwit icon indicating copy to clipboard operation
quickwit copied to clipboard

ES-compatible API

Open guilload opened this issue 2 years ago • 7 comments

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, fields params (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:

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)

guilload avatar Jan 13 '23 16:01 guilload

Bumping priority for:

  • Query string with analyze_wildcard => under discussion
  • Multi-match query

guilload avatar Jun 13 '23 16:06 guilload

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"
}

esatterwhite avatar Jun 21 '23 19:06 esatterwhite

Thanks for the feedback. Just confirming that search across multiple indices is not yet supported.

fmassot avatar Jun 21 '23 20:06 fmassot

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.

esatterwhite avatar Jun 26 '23 17:06 esatterwhite

It looks like the _bulk endpoint is lacking the ability to create missing indexes as well

esatterwhite avatar Jun 26 '23 17:06 esatterwhite

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.

esatterwhite avatar Sep 26 '23 15:09 esatterwhite

Commenting about the HEAD request. @fmassot fixed it.

fulmicoton avatar Sep 28 '23 02:09 fulmicoton