1. A method comprising: receiving, by one or more processors of a server, an initial search query from a user device over a communication network; identifying, by the one or more processors of the server, a reference to a first color in the initial search query; determining, by the one or more processors of the server, whether the reference to the first color is intended to identify any actual color; in response to determining that the reference to the first color is not intended to identify any actual color, the one or more processors of the server performing operations comprising: executing the initial search query to obtain a search result; ranking the search result without regard to the reference to the first color; and transmitting a first displayable result of the ranking of the search result to the user device over the communication network; and in response to determining that the reference to the first color is intended to identify any actual color, the one or more processors of the server performing operations comprising: identifying a plurality of products based on the initial search query; ranking the plurality of products; identifying one or more second colors associated with the plurality of products; for each second color of the one or more second colors, determining a color similarity score between the respective second color and the first color wherein the color similarity score is calculated using a color difference formula; generating an updated ranking of the plurality of products based on the one or more second colors associated with the plurality of products and the color similarity score of each of the one or more second colors; and transmitting a second displayable result of the updated ranking of the plurality of products to the user device over the communication network.