-
Notifications
You must be signed in to change notification settings - Fork 8.1k
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
Default to KQL #29191
Comments
It will be great to have KQL as default, I think there are a few things we should make sure works correctly:
|
The way this works today is, if you load up a saved search we automatically use the language the search was originally written in. The default only affects new searches. |
open question:
|
I spoke to @AlonaNadler about this yesterday a bit but I thought I'd have to share with this group as well. Just a couple of comments below. KQL everywhere
Performance
Default experience
|
Is there a way to have Lucene stay the default for OSS users only? I have a few concern specifically for KQL as default for OSS users:
It will be good if we can change Basic+ to KQL while OSS will still use Lucene, @lukasolson @Bargs I know it introduces some complexity, do you think it is possible? |
I'm sure this is a possibility, although I'm not sure we would want this behavior. Seems like our goal should be to push users to use one language for querying Kibana. In general a lot of the syntax for KQL is similar to Lucene. There are a couple things that don't work which might cause confusion, such as range ( I think it might help to have some visual indication in the query bar to know which language you're querying in. If we change the default to KQL and don't provide any sort of indication that it's changed (other than error messages when syntax isn't correct), this would probably be unexpected and frustrating. |
Yeah, I think KQL should be the default for everyone or no one at all. For KQL to achieve its goal of abstracting ES details away from user queries, Lucene needs to be phased out as a primary way to write queries. KQL has advantages other than autocomplete, like scripted field support and a more intuitive syntax, and I think we should continue pushing basic enhancements like these into OSS. It might confuse some users, but we have to make the switch sometime. And as Lukas said, there are ways we could reduce that confusion. |
Eventually, though this is a process rather than a clear cut, especially for OSS users who don't have autocomplete. KQL will get a lot of exposure in 7.0 from default distribution, and we will start getting requests and bugs. As a result, KQL+ autocomplete will get more attention in 7.x and will be ready to default to OSS in 8.0 even without autocomplete. Lucene still have more capability than KQL; autocomplete is one of the main reasons users use KQL (in the future there will be more enhancements to KQL which will drive users to use it regardless of autocomplete)
It is a good solution, will you have time to do it for 7.0? |
To summarize: we will plan to merge the PR defaulting new searches to KQL (and changes the option to be consistent) asap to make it into 7.0. We will add a list of issues related to hardening KQL to our bug fix spike. The ones that are bugs will go out in 7.0. The further enhancements will be planned for 7.1 (and beyond). These include
We will also work on expanding and improving test coverage (including some manual testing if needed). Scenarios to consider
Finally, this should be considered a breaking change and communicated as such in documentation and release messaging in order to make sure users are not surprised when switching. |
Is this still considered a blocker for 7.0? |
IMO it should no longer be a blocker at this point. The wildcard issue is still open but I’ve made the case in its comment thread that we should punt on it for now and no one has argued otherwise. Telemetry has not been speced out and is not critical for 7.0 IMO. Everything else we wanted for 7.0 is complete. |
Pretty sure we can close this issue now. The default has been changed to KQL. |
We'd like to switch the default query language to KQL in 7.0.
The option to switch back will still be available and the admin will also be able to disable KQL altogether in the config.
It will give us more data, and we don't want to have to wait till 8.0 to do it in another switch.
We have minimal support for KQL in timelion, TSVB and vega (#28010).
We don't have plans for full support in timelion and vega, but full support is in the works for TSVB (#26006).
Known issues with KQL:
cc @elastic/kibana-app @AlonaNadler
The text was updated successfully, but these errors were encountered: