Skip to content

Add `_name` to ES queries to improve readability

Micaël Bergeron requested to merge 233844-elasticsearch-named-queries into master

What does this MR do?

This MR adds a new helper class: Elastic::Latest::QueryFactory that can be used to generate semantic names for queries.

In this MR, a hierarchical pattern has been used, to correlate different part of the queries, such as:

  • issue:match:search_query
  • issue:related:project
  • doc:is_a:blob

This MR sets a lot of names across the query parts, so it is expected that some of these names might be sub-optimal.

One of the interesting aspect of this change is that Elasticsearch will set a matched_queries metadata on each results, such as it is possible to correlate why the result is part of the result set. This might be helpful debugging information that we could potentially expose somewhere.

Screenshots

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team

Closes #233844 (closed)

Edited by Micaël Bergeron

Merge request reports