1. A system comprising: one or more computers programmed to perform operations comprising: for each of a plurality of target videos, wherein each target video was viewed by a user in response to a particular query submitted by the user, identifying a respective plurality of co-watched videos, wherein each respective co-watched video for the target video was viewed by a respective user within a time window of when the same user viewed the target video; identifying a respective first query for each respective co-watched video wherein the respective co-watched video was selected by users more often when identified in a search result responsive to the respective first query in a plurality of queries submitted by users than when identified in search results responsive to other queries in the plurality of queries submitted by users, and wherein the selections responsive to the plurality of queries are counted only when the length of time the video was watched exceeds a threshold time, and wherein the first respective query for the respective co-watched video is different from the particular query of the target video for which the respective co-watched video was identified; deriving, from each respective first query for each respective co-watched video, one or more respective keywords to be associated with the respective co-watched video; for each target video in the plurality of target videos, using the one or more respective keywords for each co-watched video to generate one or more target video-specific clusters of co-watched videos for the target video, and wherein a first video from each target video-specific cluster is a co-watched video for the target video, the co-watched video for the target video having first keywords including the respective first query, the first keywords being in common with second keywords from at least one second video from the cluster, the first keywords being different from the particular query; and storing data identifying the clusters for each target video, wherein the data indexes the clusters for each target video according to the corresponding target video.