Please see https://wikitech.wikimedia.org/wiki/Add_Link and the background reading linked there for details.
Summary: we will have a maintenance script running via cron that is going to iterate over a list of articles and fetch link recommendations from an external service. If that service returns recommendations, then we want to update the ElasticSearch document with metadata that says "yes this article has link recommendations". If the service does not return recommendations, then we need to update the ES document to say "no it does not have link recommendations". The updates are done by sending an event to eventgate with the relevant data needed by the search pipeline to process.
We were thinking it would be called "hasrecommendations" and it would accept an array of strings, the only one we'd set now is "links". (Later this fiscal year we will be working with image recommendations, so we should consider a search keyword that allows us to do queries like "hasrecommendations:images|links".)
In discussion with the Discovery team, it was suggested that we store it alongside other ML predicted classes.
- Name of field to store data in
- format of metadata to use in the event that is sent to event gate