1. A computer-implemented method for identifying alternative products, the method comprising: maintaining, by a computer, information regarding a plurality of products; analyzing, by the computer, information regarding a plurality of queries to identify a plurality of product-query pairs, each product-query pair comprising a query and a product that was previously selected from results for the query; for each product-query pair, determining, by the computer, a number of times that the product was selected from results for the query; for each product-query pair, determining, by the computer, whether the query of the product-query pair is associated with the product of the product-query pair based on the number of times that the product was selected from results for the query relative to a number of times that results for the query were presented; analyzing, by the computer, the information regarding the plurality of queries to identify comparison queries directed to a comparison between two or more of the plurality of products; determining, by the computer, a first value by multiplying a ratio between a number of times that a first product (a) was selected from results for a query (x) by a ratio between a number of times that a second product (b) was selected from results for a query (y); determining, by the computer, a second value by multiplying the first value by a number of times that the comparison query comprising the query (x) and the query (y) was received; determining, by the computer, an association weight by summing the second value over all queries (x) and all queries (y); determining, by the computer, whether the association weight meets or exceeds a threshold; and in response to the association weight meeting or exceeding the threshold, determining, by the computer, that the first product is an alternative to the second product.