Add repository code indexing for tags to elasticsearch
Problem to solve
When searching code based on a string, such as the output from an error message, if the string does not appear in the default branch, it will not return in search results.
We've determined that indexing all branches isn't overly useful, and takes up a lot of space. But tags indicate a significant code milestone, and are often widely communicated as the release version of a product. Being able to search within a tag is useful, and might be more reasonable than branches from a storage requirement standpoint.
Often you can run into this with libraries you depend on. You are dependant on a specific tagged version of the code, not on the master branch. And you want to investigate what is sending the error message, to better understand it. If the error message has been changed or removed in master, you still want to be able to find it in a specific tag.
Add tag indexing in addition to indexing the default branch
Most likely include an option to turn it off for projects that overuse tags or
- Consider a max tags option, index only the 20 closest tags to master in commits?
Some way of showing which tag the match was found in, and likely filtering the search by tag. (Maybe default filter is for master)