Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Autocomplete] Integrate new autocomplete API #92783

Closed
lizozom opened this issue Feb 25, 2021 · 1 comment · Fixed by #100174
Closed

[Autocomplete] Integrate new autocomplete API #92783

lizozom opened this issue Feb 25, 2021 · 1 comment · Fixed by #100174
Assignees
Labels
enhancement New value added to drive a business result Feature:Search Querying infrastructure in Kibana impact:low Addressing this issue will have a low level of impact on the quality/strength of our product. loe:large Large Level of Effort v7.14.0 v8.0.0

Comments

@lizozom
Copy link
Contributor

lizozom commented Feb 25, 2021

The Elasticsearch team is developing a new, faster API for autocomplete.
We need to integrate this new API into the value suggestions route (/api/kibana/suggestions/values/${index}).

API format

Courtesy of @markharwood

Request

{
	"field": "obj.foo",
	"string": "foo",
	"case_insensitive": true,
	"size": 100
}

Response

{
  "_shards": {
    "total": 1,
    "successful": 1,
    "failed": 0
  },
  "terms": [
    "foo"
  ]
}

Errors will be returned in standard Elasticsearch format (root cause and all)

Case sensitivity

The new API will support both case sensitive and insensitive searches, resolving #97797
@shahzad31

Filter editor

While we're used to thinking about autocomplete suggestions in the context of the search bar's input, the same API is also used in the filter editor to provide a list of values for each field.

image

We could improve the performance of this component by using the new API.
@jimczi also suggested implementing pagination of the autocomplete results (which is easy to implement in ES) to improve performance even more.

Incomplete suggestions indicator

We need to consider how to let a user know, that the autocomplete results they are seeing are incomplete. This is relevant for both the search bar (KQL input area) and the field editor.

@elastic-jb @mdefazio

Telemetry

In #91428 we introduced telemetry to measure the quality of our autocomplete suggestions:

  • how many characters did the user type before choosing a suggestion
  • what was the index of the selected suggestion in the list.

This telemetry should not change so we can compare it to telemetry from 7.12 (the old, slower, implementation).

@lizozom lizozom added enhancement New value added to drive a business result v8.0.0 Team:AppServices v7.13.0 labels Feb 25, 2021
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-app-services (Team:AppServices)

@exalate-issue-sync exalate-issue-sync bot added impact:low Addressing this issue will have a low level of impact on the quality/strength of our product. loe:small Small Level of Effort loe:large Large Level of Effort and removed loe:small Small Level of Effort labels Apr 26, 2021
@lukasolson lukasolson self-assigned this Apr 28, 2021
@petrklapka petrklapka added 1 and removed 1 labels May 6, 2021
@ppisljar ppisljar added the Feature:Search Querying infrastructure in Kibana label May 10, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New value added to drive a business result Feature:Search Querying infrastructure in Kibana impact:low Addressing this issue will have a low level of impact on the quality/strength of our product. loe:large Large Level of Effort v7.14.0 v8.0.0
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants