Skip to content

Search using traversal_ids for wiki_blobs and blobs

What does this MR do and why?

We are using the traversal_ids to query the blobs and wiki blobs.

Screenshots or screen recordings

Screenshots are required for UI changes, and strongly recommended for all other merge requests.

How to set up and validate locally

Numbered steps to set up and validate the change are strongly suggested.

  1. Get your gdk setup to work with Elasticsearch and create your index from scratch
  2. Please ensure that the :backfill_traversal_ids_to_blobs_and_wiki_blobs migration is completed before continuing
[1] pry(main)> Elastic::DataMigrationService.migration_has_finished?(:backfill_traversal_ids_to_blobs_and_wiki_blobs)
=> true
  1. Enable the Performance Bar
  2. Visit /search and search for code inside a group (not in a project), ensure that Advanced Search is working and you have results for the query
  3. Enable the feature flag
    Feature.enable(:elasticsearch_use_traversal_id_optimization)
  4. Wait a minute for the feature flag cache to update and refresh the search page
  5. Ensure that there are still the same results
  6. Confirm that in the performance bar behind ES calls you can see "prefix": { "traversal_ids" as a part of the query

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Related to #351381 (closed)

Edited by Siddharth Dungarwal

Merge request reports